home *** CD-ROM | disk | FTP | other *** search
Text File | 1996-04-19 | 421.5 KB | 9,257 lines |
-
- Fractint Version 18.2 Page 1
-
- New Features in Version 18.2...........................4
-
- Introduction...........................................9
-
- 1. Fractint Commands.....................................11
- 1.1 Getting Started.....................................11
- 1.2 Plotting Commands...................................11
- 1.3 Zoom box Commands...................................14
- 1.4 Color Cycling Commands..............................16
- 1.5 Palette Editing Commands............................17
- 1.6 Image Save/Restore Commands.........................21
- 1.7 Print Command.......................................22
- 1.8 Parameter Save/Restore Commands.....................22
- 1.9 "3D" Commands.......................................24
- 1.10 Interrupting and Resuming...........................25
- 1.11 Orbits Window.......................................25
- 1.12 View Window.........................................26
- 1.13 Video Mode Function Keys............................27
- 1.14 Hints...............................................28
-
- 2. Fractal Types.........................................29
- 2.1 The Mandelbrot Set..................................29
- 2.2 Julia Sets..........................................30
- 2.3 Julia Toggle Spacebar Commands......................31
- 2.4 Inverse Julias......................................32
- 2.5 Newton domains of attraction........................33
- 2.6 Newton..............................................34
- 2.7 Complex Newton......................................34
- 2.8 Lambda Sets.........................................35
- 2.9 Mandellambda Sets...................................35
- 2.10 Circle..............................................36
- 2.11 Plasma Clouds.......................................36
- 2.12 Lambdafn............................................37
- 2.13 Mandelfn............................................38
- 2.14 Barnsley Mandelbrot/Julia Sets......................38
- 2.15 Barnsley IFS Fractals...............................39
- 2.16 Sierpinski Gasket...................................40
- 2.17 Quartic Mandelbrot/Julia............................41
- 2.18 Distance Estimator..................................41
- 2.19 Pickover Mandelbrot/Julia Types.....................41
- 2.20 Pickover Popcorn....................................42
- 2.21 Peterson Variations.................................42
- 2.22 Unity...............................................43
- 2.23 Scott Taylor / Lee Skinner Variations...............43
- 2.24 Kam Torus...........................................44
- 2.25 Bifurcation.........................................44
- 2.26 Orbit Fractals......................................46
- 2.27 Lorenz Attractors...................................47
- 2.28 Rossler Attractors..................................48
- 2.29 Henon Attractors....................................48
- 2.30 Pickover Attractors.................................49
- 2.31 Gingerbreadman......................................49
- 2.32 Martin Attractors...................................49
- 2.33 Icon................................................50
- 2.34 Test................................................50
- 2.35 Formula.............................................51
-
- Fractint Version 18.2 Page 2
-
- 2.36 Julibrots...........................................52
- 2.37 Diffusion Limited Aggregation.......................54
- 2.38 Magnetic Fractals...................................54
- 2.39 L-Systems...........................................55
- 2.40 Lyapunov Fractals...................................57
- 2.41 fn||fn Fractals.....................................58
- 2.42 Halley..............................................59
- 2.43 Dynamic System......................................59
- 2.44 Mandelcloud.........................................60
- 2.45 Quaternion..........................................60
- 2.46 HyperComplex........................................61
- 2.47 Cellular Automata...................................61
- 2.48 Phoenix.............................................62
- 2.49 Frothy Basins.......................................63
-
- 3. Doodads, Bells, and Whistles..........................65
- 3.1 Drawing Method......................................65
- 3.2 Palette Maps........................................65
- 3.3 Autokey Mode........................................66
- 3.4 Distance Estimator Method...........................68
- 3.5 Inversion...........................................69
- 3.6 Decomposition.......................................70
- 3.7 Logarithmic Palettes and Color Ranges...............71
- 3.8 Biomorphs...........................................72
- 3.9 Continuous Potential................................72
- 3.10 Starfields..........................................74
-
- 4. "3D" Images...........................................76
- 4.1 3D Mode Selection...................................76
- 4.2 Select Fill Type Screen.............................79
- 4.3 Stereo 3D Viewing...................................80
- 4.4 Rectangular Coordinate Transformation...............81
- 4.5 3D Color Parameters.................................82
- 4.6 Light Source Parameters.............................83
- 4.7 Spherical Projection................................84
- 4.8 3D Overlay Mode.....................................84
- 4.9 Special Note for CGA or Hercules Users..............85
- 4.10 Making Terrains.....................................85
- 4.11 Making 3D Slides....................................87
- 4.12 Interfacing with Ray Tracing Programs...............87
-
- 5. Command Line Parameters, Parameter Files, Batch Mode..90
- 5.1 Using the DOS Command Line..........................90
- 5.2 Setting Defaults (SSTOOLS.INI File).................90
- 5.3 Parameter Files and the <@> Command.................91
- 5.4 General Parameter Syntax............................92
- 5.5 Startup Parameters..................................92
- 5.6 Calculation Mode Parameters.........................93
- 5.7 Fractal Type Parameters.............................94
- 5.8 Image Calculation Parameters........................94
- 5.9 Color Parameters....................................96
- 5.10 Doodad Parameters...................................99
- 5.11 File Parameters....................................100
- 5.12 Video Parameters...................................101
- 5.13 Sound Parameters...................................103
- 5.14 Printer Parameters.................................104
-
- Fractint Version 18.2 Page 3
-
- 5.15 PostScript Parameters..............................105
- 5.16 PaintJet Parameters................................107
- 5.17 Plotter Parameters.................................108
- 5.18 3D Parameters......................................108
- 5.19 Batch Mode.........................................110
-
- 6. Hardware Support.....................................112
- 6.1 Notes on Video Modes, "Standard" and Otherwise.....112
- 6.2 "Disk-Video" Modes.................................114
- 6.3 Customized Video Modes, FRACTINT.CFG...............115
-
- 7. Common Problems......................................118
-
- 8. Fractals and the PC..................................121
- 8.1 A Little History...................................121
- 8.1.1 Before Mandelbrot................................121
- 8.1.2 Who Is This Guy, Anyway?.........................122
- 8.2 A Little Code......................................123
- 8.2.1 Periodicity Logic................................123
- 8.2.2 Limitations of Integer Math (And How We Cope)....123
- 8.2.3 The Fractint "Fractal Engine" Architecture.......124
-
- Appendix A Mathematics of the Fractal Types................127
-
- Appendix B Stone Soup With Pixels: The Authors.............143
-
- Appendix C GIF Save File Format............................150
-
- Appendix D Other Fractal Products..........................151
-
- Appendix E Bibliography....................................152
-
- Appendix F Other Programs..................................153
-
- Appendix G Revision History................................154
-
- Appendix H Version13 to Version 14 Type Mapping............168
-
- Fractint Version 18.2 Page 4
-
- New Features in Version 18.2
-
- Versions 18.1 and 18.2 are bug-fix releases for version 18.0. Changes
- from 18.1 to 18.2 include:
-
- The <b> command now causes filenames only to be written in PAR files.
-
- Fractint will now search directories in the PATH for files not found in
- the requested the requested directory or the current directory. If you
- place .MAP, .FRM, etc. in directories in your PATH, then Fractint will
- find them.
-
- Fixed bug that caused fractals using PI symmetry to fail at high
- resolution.
-
- Fractals interrupted with <3> or <r> can now resume.
-
- The palette editor's <u> (undo) now works.
-
- The <s> command in orbit/Julia window mode is no longer case sensitive.
-
- Added warnings that the POV-Ray output is obsolete (but has been left
- in). Use POV-Ray's height field facility instead or create and convert
- RAW files.
-
- Fixed several IFS bugs.
-
- Changes from 18.0 to 18.1 include:
-
- Overlay tuning - the Mandelbrot/Julia Set fractals are now back up to
- 17.x speeds
-
- Disk Video modes now work correctly with VESA video adapters (they used
- to use the same array for different purposes, confusing each other)
-
- 1024x768x256 and 2048x2048x256 disk video modes work again
-
- Parameter-file processing no longer crashes Fractint if it attempts to
- run a formula requiring access to a non-existent FRM file
-
- IFS arrays no longer overrun their array space
-
- type=cellular fixes
-
- "autologmap=2" now correctly picks up the minimum color
-
- The use of disk-video mode with random-access fractal types is now
- legal (it generates a warning message but lets you proceed if you
- really want to)
-
- The Lsystems "spinning-wheel" now spins slower (removing needless
- overhead)
-
- Changes to contributors' addresses in the Help screens
-
- Fractint Version 18.2 Page 5
-
- (The remainder of this "new features" section is from version 18.0)
-
- New fractal types:
-
- 19 new fractal types, including:
-
- New fractal types - 'lambda(fn||fn)', 'julia(fn||fn)',
- 'manlam(fn||fn)', 'mandel(fn||fn)', 'halley', 'phoenix', 'mandphoenix',
- 'cellular', generalized bifurcation, and 'bifmay' - from Jonathan
- Osuch.
-
- New Mandelcloud, Quaternion, Dynamic System, Cellular Automata fractal
- types from Ken Shirriff.
-
- New HyperComplex fractal types from Timothy Wegner
-
- New ICON type from Dan Farmer, including a PAR file of examples.
-
- New Frothy Basin fractal types (and PAR entries) by Wesley Loewer
-
- MIIM (Modified Inverse Iteration Method) implementation of Inverse
- Julia from Michael Snyder.
-
- New Inverse Julia fractal type from Juan Buhler.
-
- New floating-point versions of Markslambda, Marksmandel, Mandel4, and
- Julia4 types (chosen automatically if the floating-point option is
- enabled).
-
- New options/features:
-
- New assembler-based parser logic from Chuck Ebbert - significantly
- faster than the C-based code it replaces!
-
- New assembler-based Lyapunov logic from Nicholas Wilt and Wes Loewer.
- Roughly six times faster than the old version!
-
- New Orbits-on-a-window / Julia-in-a-window options:
- 1) The old Overlay option is now '#' (Shift-3).
- 2) During generation, 'O' brings up orbits (as before) - after
- generation, 'O' brings up new orbits Windows mode.
- 3) Control-O brings up new orbits Windows mode at any time.
- 4) Spacebar toggles between Inverse Julia mode and the Julia set and
- back to the Mandelbrot set.
- These new "in-a-window" modes are really neat! See Orbits Window
- (p. 25) and Julia Toggle Spacebar Commands (p. 31) for details.
-
- New multi-image GIF support in the <B> command. You can now generate
- 65535x65535x256 fractal images using Fractint (if you have the disk
- space, of course). This option builds special PAR entries and a
- MAKEMIG.BAT file that you later use to invoke Fractint multiple times
- to generate individual sections of the image and (in a final step)
- stitch them all together. If your other software can't handle
- Multiple-image GIFs, a SIMPLGIF program is also supplied that converts
- MIGS into simgle-image GIFs. Press F1 at the <B> prompts screen for
- details.
-
- Fractint Version 18.2 Page 6
-
- Fractint's decoder now handles Multi-Image Gifs.
-
- New SuperVGA/VESA Autodetect logic from the latest version of VGAKIT.
- Sure hope we didn't break anything.
-
- New register-compatible 8514/A code from Jonathan Osuch. By default,
- Fractint now looks first for the presence of an 8514/A register-
- compatible adapter and then (and only if it doesn't find one) the
- presence of the 8514/A API (IE, HDILOAD is no longer necessary for
- register-compatible "8514/a" adapters). Fractint can be forced to use
- the 8514/A API by using a new command-line option, "afi=yes". Jonathan
- also added ATI's "8514/a-style" 800x600x256 and 1280x1024x16 modes.
-
- New XGA-detection logic for ISA-based XGA-2 systems.
-
- The palette editor now has a "freestyle" editing option. See Palette
- Editing Commands (p. 17) for details.
-
-
- Fractint is now more "batch file" friendly. When running Fractint from
- a batch file, pressing any key will cause Fractint to exit with an
- errorlevel = 2. Any error that interrupts an image save to disk will
- cause an exit with errorlevel = 2. Any error that prevents an image
- from being generated will cause an exit with errorlevel = 1.
-
- New Control-X, Control-Y, and Control-Z options flip a fractal image
- along the X-axis, Y-axis, and Origin, respectively.
-
- New area calculation mode in TAB screen from Ken Shirriff (for accuracy
- use inside=0).
-
- The TAB screen now indicates when the Integer Math algorithms are in
- use.
-
- The palette must now be explicitly changed, it will not reset to the
- default unexpectedly when doing things like switching video modes.
-
- The Julibrot type has been generalized. Julibrot fractals can now be
- generated from PAR files.
-
- Added <b> command support for viewwindows.
-
- Added room for two additional PAR comments in the <B> command
-
- New coloring method for IFS shows which parts of fractal came from
- which transform.
-
- Added attractor basin phase plotting for Julia sets from Ken Shirriff.
-
- Improved finite attractor code to find more attractors from Ken
- Shirriff.
-
- New zero function, to be used in PAR files to replace old integer tan,
- tanh
-
- Fractint Version 18.2 Page 7
-
- Debugflag=10000 now reports video chipset in use as well as CPU/FPU
- type and available memory
-
- Added 6 additional parameters for params= for those fractal types that
- need them.
-
- New 'matherr()' logic lets Fractint get more aggressive when these
- errors happen.
-
- New autologmap option (log=+-2) from Robin Bussell that ensures that
- all palette values are used by searching the screen border for the
- lowest value and then setting log= to +- that color.
-
- Two new diffusion options - falling and square cavity.
-
- Three new Editpal commands: '!', '@' and '#' commands (that's <shift-
- 1>, <shift-2>, and <shift-3>) to swap R<->G, G<->B, R<->B.
-
- Parameter files now use a slightly shorter maximum line length, making
- them a bit more readable when stuffed into messages on Compuserve.
-
- Plasma now has 16-bit .POT output for use with Ray tracers. The "old"
- algorithm has been modified so that the plasma effect is independent of
- resolution.
-
- Slight modification to the Raytrace code to make it compatible with
- Rayshade 4.0 patch level 6.
-
- Improved boundary-tracing logic from Wesley Loewer.
-
- Command-line parameters can now be entered on-the-fly using the <g> key
- thanks to Ken Shirriff.
-
- Dithered gif images can now be loaded onto a b/w display. Thanks to
- Ken Shirriff.
-
- Pictures can now be output as compressed PostScript. Thanks to Ken
- Shirriff.
-
- Periodicity is a new inside coloring option. Thanks to Ken Shirriff.
-
- Fixes: symmetry values for the SQR functions, bailout for the floating-
- pt versions of 'lambdafn' and 'mandelfn' fractals from Jonathan Osuch.
-
- "Flip", "conj" operators are now selectable in the parser
-
- New DXF Raytracing option from Dennis Bragg.
-
- Improved boundary-tracing logic from Wesley Loewer.
-
- New MSC7-style overlay structure is used if MAKEFRAC.BAT specifies
- MSC7. (with new FRACTINT.DEF and FRACTINT.LNK files for MSC7 users).
- Several modules have been re-organized to take advantage of this new
- overlay capability if compiled under MSC7.
-
- Fractint Version 18.2 Page 8
-
- Fractint now looks first any embedded help inside FRACTINT.EXE, and
- then for an external FRACTINT.HLP file before giving up. Previous
- releases required that the help text be embedded inside FRACTINT.EXE.
-
- Bug fixes:
-
- Corrected formulas displayed for Marksmandel, Cmplxmarksmandel, and
- associated julia types.
-
- BTM and precision fixes.
-
- Symmetry logic changed for various "outside=" options
-
- Symmetry value for EXP function in lambdafn and lambda(fn||fn) fixed.
-
- Fixed bug where math errors prevented save in batch mode.
-
- The <3> and <r> commands no longer destroy image -- user can back out
- with ESC and image is still there.
-
- Fixed display of correct number of Julibrot parameters, and Julibrot
- relaxes and doesn't constantly force ALTERN.MAP.
-
- Fixed tesseral type for condition when border is all one color but
- center contains image.
-
- Fixed integer mandel and julia when used with parameters > +1.99 and <
- -1.99
-
- Eliminated recalculation when generating a julia type from a mandelbrot
- type when the 'z' screen is viewed for the first time.
-
- Minor logic change to prevent double-clutching into and out of graphics
- mode when pressing, say, the 'x' key from a menu screen.
-
- Changed non-US phone number for the Houston Public (Software) Library
-
- The "Y" screen is now "Extended Options" instead of "Extended Doodads"
-
- ...and probably a lot more bux-fixes that we've since forgotten that
- we've implemented.
-
-
- Fractint Version 18.2 Page 9
-
- Introduction
-
- FRACTINT plots and manipulates images of "objects" -- actually, sets of
- mathematical points -- that have fractal dimension. See "Fractals and
- the PC" (p. 121) for some historical and mathematical background on
- fractal geometry, a discipline named and popularized by mathematician
- Benoit Mandelbrot. For now, these sets of points have three important
- properties:
-
- 1) They are generated by relatively simple calculations repeated over
- and over, feeding the results of each step back into the next --
- something computers can do very rapidly.
-
- 2) They are, quite literally, infinitely complex: they reveal more and
- more detail without limit as you plot smaller and smaller areas.
- Fractint lets you "zoom in" by positioning a small box and hitting
- <Enter> to redraw the boxed area at full-screen size; its maximum linear
- "magnification" is over a trillionfold.
-
- 3) They can be astonishingly beautiful, especially using PC color
- displays' ability to assign colors to selected points, and (with VGA
- displays or EGA in 640x350x16 mode) to "animate" the images by quickly
- shifting those color assignments.
-
- For a demonstration of some of Fractint's features, run the
- demonstration file included with this release (DEMO.BAT) by typing
- "demo" at the DOS prompt. You can stop the demonstration at any time by
- pressing <Esc>.
-
- The name FRACTINT was chosen because the program generates many of its
- images using INTeger math, rather than the floating point calculations
- used by most such programs. That means that you don't need a math co-
- processor chip (aka floating point unit or FPU), although for a few
- fractal types where floating point math is faster, the program
- recognizes and automatically uses an 80x87 chip if it's present. It's
- even faster on systems using Intel's 80386 and 80486 microprocessors,
- where the integer math can be executed in their native 32-bit mode.
-
- Fractint works with many adapters and graphics modes from CGA to the
- 1024x768, 256-color XGA mode. Even "larger" images, up to 2048x2048x256,
- can be plotted to expanded memory, extended memory, or disk: this
- bypasses the screen and allows you to create images with higher
- resolution than your current display can handle, and to run in
- "background" under multi-tasking control programs such as DESQview and
- Windows 3.
-
- Fractint is an experiment in collaboration. Many volunteers have joined
- Bert Tyler, the program's first author, in improving successive
- versions. Through electronic mail messages, first on CompuServe's PICS
- forum and now on GRAPHDEV, new versions are hacked out and debugged a
- little at a time. Fractint was born fast, and none of us has seen any
- other fractal plotter close to the present version for speed,
- versatility, and all-around wonderfulness. (If you have, tell us so we
- can steal somebody else's ideas instead of each other's.) See The Stone
- Soup Story (p. 143) and A Word About the Authors (p. 144) for
- information about the authors, and see Contacting the Authors (p. 146)
-
- Fractint Version 18.2 Page 10
-
- for how to contribute your own ideas and code.
-
- Fractint is freeware. The copyright is retained by the Stone Soup Group.
-
- Fractint may be freely copied and distributed in unmodified form but may
- not be sold. (A nominal distribution fee may be charged for media and
- handling by freeware and shareware distributors.) Fractint may be used
- personally or in a business - if you can do your job better by using
- Fractint, or using images from it, that's great! It may not be given
- away with commercial products without explicit permission from the Stone
- Soup Group.
-
- There is no warranty of Fractint's suitability for any purpose, nor any
- acceptance of liability, express or implied.
-
- **********************************************************************
- * Contribution policy: Don't want money. Got money. Want admiration. *
- **********************************************************************
-
- Source code for Fractint is also freely available - see Distribution of
- Fractint (p. 145). See the FRACTSRC.DOC file included with the source
- for conditions on use. (In most cases we just want credit.)
-
- Fractint Version 18.2 Page 11
-
- 1. Fractint Commands
-
-
- 1.1 Getting Started
-
- To start the program, enter FRACTINT at the DOS prompt. The program
- displays an initial "credits" screen. If Fractint doesn't start
- properly, please see Common Problems (p. 118).
-
- Hitting <Enter> gets you from the initial screen to the main menu. You
- can select options from the menu by moving the highlight with the cursor
- arrow keys and pressing <Enter>, or you can enter commands directly.
-
- As soon as you select a video mode, Fractint begins drawing an image -
- the "full" Mandelbrot set if you haven't selected another fractal type.
-
- For a quick start, after starting Fractint try one of the following:
- If you have MCGA, VGA, or better: <F3>
- If you have EGA: <F9>
- If you have CGA: <F5>
- Otherwise, monochrome: <F6>
-
- After the initial Mandelbrot image has been displayed, try zooming into
- it (see Zoom Box Commands (p. 14)) and color cycling (see Color Cycling
- Commands (p. 16)). Once you're comfortable with these basics, start
- exploring other functions from the main menu.
-
- Help is available from the menu and at most other points in Fractint by
- pressing the <F1> key.
-
- AT ANY TIME, you can hit a command key to select a function. You do not
- need to wait for a calculation to finish, nor do you have to return to
- the main menu.
-
- When entering commands, note that for the "typewriter" keys, upper and
- lower case are equivalent, e.g. <B> and <b> have the same result.
-
- Many commands and parameters can be passed to FRACTINT as command-line
- arguments or read from a configuration file; see "Command Line
- Parameters, Parameter Files, Batch Mode" for details.
-
-
- 1.2 Plotting Commands
-
- Function keys & various combinations are used to select a video mode and
- redraw the screen. For a quick start try one of the following:
- If you have MCGA, VGA, or better: <F3>
- If you have EGA: <F9>
- If you have CGA: <F5>
- Otherwise, monochrome: <F6>
-
- <F1>
- Display a help screen. The function keys available in help mode are
- displayed at the bottom of the help screen.
-
- Fractint Version 18.2 Page 12
-
- <M> or <Esc>
- Return from a displayed image to the main menu.
-
- <Esc>
- From the main menu, <Esc> is used to exit from Fractint.
-
- <Delete>
- Same as choosing "select video mode" from the main menu. Goes to the
- "select video mode" screen. See Video Mode Function Keys (p. 27).
-
- <\> (previously <Home>)
- Redraw the previous image. The program tracks 25 sets of previous
- coordinates and fractal types, but does not remember other options which
- were different for those past images.
-
- <Tab>
- Display the current fractal type, parameters, video mode, screen or (if
- displayed) zoom-box coordinates, maximum iteration count, and other
- information useful in keeping track of where you are. The Tab function
- is non-destructive - if you press it while in the midst of generating an
- image, you will continue generating it when you return. The Tab
- function tells you if your image is still being generated or has
- finished - a handy feature for those overnight, 1024x768 resolution
- fractal images. If the image is incomplete, it also tells you whether
- it can be interrupted and resumed. (Any function other than <Tab> and
- <F1> counts as an "interrupt".)
-
- The Tab screen also includes a pixel-counting function, which will count
- the number of pixels colored in the inside color. This gives an
- estimate of the area of the fractal. Note that the inside color must be
- different from the outside color(s) for this to work; inside=0 is a good
- choice.
-
- <T>
- Select a fractal type. Move the cursor to your choice (or type the first
- few letters of its name) and hit <Enter>. Next you will be prompted for
- any parameters used by the selected type - hit <Enter> for the defaults.
- See Fractal Types (p. 29) for a list of supported types.
-
- <X>
- Select a number of eXtended options. Brings up a full-screen menu of
- options, any of which you can change at will. These options are:
- "passes=" - see Drawing Method (p. 65)
- Floating point toggle - see <F> key description below
- "maxiter=" - see Image Calculation Parameters (p. 94)
- "inside=" and "outside=" - see Color Parameters (p. 96)
- "savename=" filename - see File Parameters (p. 100)
- "overwrite=" option - see File Parameters (p. 100)
- "sound=" option - see Sound Parameters (p. 103)
- "logmap=" - see Logarithmic Palettes and Color Ranges (p. 71)
- "biomorph=" - see Biomorphs (p. 72)
- "decomp=" - see Decomposition (p. 70)
- "fillcolor=" - see Drawing Method (p. 65)
-
- Fractint Version 18.2 Page 13
-
- <F>
- Toggles the use of floating-point algorithms (see "Limitations of
- Integer Math (And How We Cope)" (p. 123)). Whether floating point is in
- use is shown on the <Tab> status screen. The floating point option can
- also be turned on and off using the "X" options screen. If you have a
- non-Intel floating point chip which supports the full 387 instruction
- set, see the "FPU=" command in Startup Parameters (p. 92) to get the
- most out of your chip.
-
- <Y>
- More options which we couldn't fit under the <X> command:
- "finattract=" - see Finite Attractors (p. 139)
- "potential=" parameters - see Continuous Potential (p. 72)
- "invert=" parameters - see Inversion (p. 69)
- "distest=" parameters - see Distance Estimator Method (p. 68)
- "cyclerange=" - see Color Cycling Commands (p. 16)
-
- <Z>
- Modify the parameters specific to the currently selected fractal type.
- This command lets you modify the parameters which are requested when you
- select a new fractal type with the <T> command, without having to repeat
- that selection. You can enter "e" or "p" in column one of the input
- fields to get the numbers e and pi (2.71828... and 3.14159...).
- From the fractal parameters screen, you can press <F6> to bring up a sub
- parameter screen for the coordinates of the image's corners.
-
- <+> or <->
- Switch to color-cycling mode and begin cycling the palette by shifting
- each color to the next "contour." See Color Cycling Commands (p. 16).
- <C>
- Switch to color-cycling mode but do not start cycling. The normally
- black "overscan" border of the screen changes to white. See Color
- Cycling Commands (p. 16).
-
- <E>
- Enter Palette-Editing Mode. See Palette Editing Commands (p. 17).
-
- <Spacebar>
- Toggle between Mandelbrot set images and their corresponding Julia-set
- images. Read the notes in Fractal Types, Julia Sets (p. 30) before
- trying this option if you want to see anything interesting.
-
- <J>
- Toggle between Julia escape time fractal and the Inverse Julia orbit
- fractal. See Inverse Julias (p. 32)
-
- <Enter>
- Enter is used to resume calculation after a pause. It is only necessary
- to do this when there is a message on the screen waiting to be
- acknowledged, such as the message shown after you save an image to disk.
-
- <I>
- Modify 3D transformation parameters used with 3D fractal types such as
- "Lorenz3D" and 3D "IFS" definitions, including the selection of "funny
- glasses" (p. 80) red/blue 3D.
-
- Fractint Version 18.2 Page 14
-
- <A>
- Convert the current image into a fractal 'starfield'. See Starfields
- (p. 74).
-
- <O> (the letter, not the number)
- If pressed while an image is being generated, toggles the display of
- intermediate results -- the "orbits" Fractint uses as it calculates
- values for each point. Slows the display a bit, but shows you how clever
- the program is behind the scenes. (See "A Little Code" in "Fractals and
- the PC" (p. 121).)
-
- <D>
- Shell to DOS. Return to Fractint by entering "exit" at a DOS prompt.
- <Insert>
- Restart at the "credits" screen and reset most variables to their
- initial state. Variables which are not reset are: savename, lightname,
- video, startup filename.
-
-
- 1.3 Zoom box Commands
-
- Zoom Box functions can be invoked while an image is being generated or
- when it has been completely drawn. Zooming is supported for most
- fractal types, but not all.
-
- The general approach to using the zoom box is: Frame an area using the
- keys described below, then <Enter> to expand what's in the frame to fill
- the whole screen (zoom in); or <Ctrl><Enter> to shrink the current image
- into the framed area (zoom out). With a mouse, double-click the left
- button to zoom in, double click the right button to zoom out.
-
- <Page Up>, <Page Down>
- Use <Page Up> to initially bring up the zoom box. It starts at full
- screen size. Subsequent use of these keys makes the zoom box smaller or
- larger. Using <Page Down> to enlarge the zoom box when it is already at
- maximum size removes the zoom box from the display. Moving the mouse
- away from you or toward you while holding the left button down performs
- the same functions as these keys.
-
- Using the cursor "arrow" keys or moving the mouse without holding any
- buttons down, moves the zoom box.
-
- Holding <Ctrl> while pressing cursor "arrow" keys moves the box 5 times
- faster. (This only works with enhanced keyboards.)
-
- Panning: If you move a fullsize zoombox and don't change anything else
- before performing the zoom, Fractint just moves what's already on the
- screen and then fills in the new edges, to reduce drawing time. This
- feature applies to most fractal types but not all. A side effect is
- that while an image is incomplete, a full size zoom box moves in steps
- larger than one pixel. Fractint keeps the box on multiple pixel
- boundaries, to make panning possible. As a multi-pass (e.g. solid
- guessing) image approaches completion, the zoom box can move in smaller
- increments.
-
- Fractint Version 18.2 Page 15
-
- In addition to resizing the zoom box and moving it around, you can do
- some rather warped things with it. If you're a new Fractint user, we
- recommend skipping the rest of the zoom box functions for now and coming
- back to them when you're comfortable with the basic zoom box functions.
-
- <Ctrl><Keypad->, <Ctrl><Keypad+>
- Holding <Ctrl> and pressing the numeric keypad's + or - keys rotates the
- zoom box. Moving the mouse left or right while holding the right button
- down performs the same function.
-
- <Ctrl><Page Up>, <Ctrl><Page Down>
- These commands change the zoom box's "aspect ratio", stretching or
- shrinking it vertically. Moving the mouse away from you or toward you
- while holding both buttons (or the middle button on a 3-button mouse)
- down performs the same function. There are no commands to directly
- stretch or shrink the zoom box horizontally - the same effect can be
- achieved by combining vertical stretching and resizing.
-
- <Ctrl><Home>, <Ctrl><End>
- These commands "skew" the zoom box, moving the top and bottom edges in
- opposite directions. Moving the mouse left or right while holding both
- buttons (or the middle button on a 3-button mouse) down performs the
- same function. There are no commands to directly skew the left and right
- edges - the same effect can be achieved by using these functions
- combined with rotation.
-
- <Ctrl><Insert>, <Ctrl><Delete>
- These commands change the zoom box color. This is useful when you're
- having trouble seeing the zoom box against the colors around it. Moving
- the mouse away from you or toward you while holding the right button
- down performs the same function.
-
- You may find it difficult to figure out what combination of size,
- position rotation, stretch, and skew to use to get a particular result.
- (We do.)
- A good way to get a feel for all these functions is to play with the
- Gingerbreadman fractal type. Gingerbreadman's shape makes it easy to see
- what you're doing to him. A warning though: Gingerbreadman will run
- forever, he's never quite done! So, pre-empt with your next zoom when
- he's baked enough.
-
- If you accidentally change your zoom box shape or rotate and forget
- which way is up, just use <PageDown> to make it bigger until it
- disappears, then <PageUp> to get a fresh one. With a mouse, after
- removing the old zoom box from the display release and re-press the left
- button for a fresh one.
-
- If your screen does not have a 4:3 "aspect ratio" (i.e. if the visible
- display area on it is not 1.333 times as wide as it is high), rotating
- and zooming will have some odd effects - angles will change, including
- the zoom box's shape itself, circles (if you are so lucky as to see any
- with a non-standard aspect ratio) become non-circular, and so on. The
- vast majority of PC screens *do* have a 4:3 aspect ratio.
-
- Fractint Version 18.2 Page 16
-
- Zooming is not implemented for the plasma and diffusion fractal types,
- nor for overlayed and 3D images. A few fractal types support zooming but
- do not support rotation and skewing - nothing happens when you try it.
-
-
- 1.4 Color Cycling Commands
-
- Color-cycling mode is entered with the 'c', '+', or '-' keys from an
- image, or with the 'c' key from Palette-Editing mode.
-
- The color-cycling commands are available ONLY for VGA adapters and EGA
- adapters in 640x350x16 mode. You can also enter color-cycling while
- using a disk-video mode, to load or save a palette - other functions are
- not supported in disk-video.
-
- Note that the colors available on an EGA adapter (16 colors at a time
- out of a palette of 64) are limited compared to those of VGA, super-VGA,
- and MCGA (16 or 256 colors at a time out of a palette of 262,144). So
- color-cycling in general looks a LOT better in the latter modes. Also,
- because of the EGA palette restrictions, some commands are not available
- with EGA adapters.
-
- Color cycling applies to the color numbers selected by the "cyclerange="
- command line parameter (also changeable via the <Y> options screen and
- via the palette editor). By default, color numbers 1 to 255 inclusive
- are cycled. On some images you might want to set "inside=0" (<X>
- options or command line parameter) to exclude the "lake" from color
- cycling.
-
- When you are in color-cycling mode, you will either see the screen
- colors cycling, or will see a white "overscan" border when paused, as a
- reminder that you are still in this mode. The keyboard commands
- available once you've entered color-cycling. are described below.
-
- <F1>
- Bring up a HELP screen with commands specific to color cycling mode.
-
- <Esc>
- Leave color-cycling mode.
-
- <+> or <->
- Begin cycling the palette by shifting each color to the next "contour."
- <+> cycles the colors in one direction, <-> in the other.
-
- '<' or '>'
- Force a color-cycling pause, disable random colorizing, and single-step
- through a one color-cycle. For "fine-tuning" your image colors.
-
- Cursor up/down
- Increase/decrease the cycling speed. High speeds may cause a harmless
- flicker at the top of the screen.
-
- <F2> through <F10>
- Switches from simple rotation to color selection using randomly
- generated color bands of short (F2) to long (F10) duration.
-
- Fractint Version 18.2 Page 17
-
- <1> through <9>
- Causes the screen to be updated every 'n' color cycles (the default is
- 1). Handy for slower computers.
-
- <Enter>
- Randomly selects a function key (F2 through F10) and then updates ALL
- the screen colors prior to displaying them for instant, random colors.
- Hit this over and over again (we do).
-
- <Spacebar>
- Pause cycling with white overscan area. Cycling restarts with any
- command key (including another spacebar).
-
- <Shift><F1>-<F10>
- Pause cycling and reset the palette to a preset two color "straight"
- assignment, such as a spread from black to white. (Not for EGA)
-
- <Ctrl><F1>-<F10>
- Pause & set a 2-color cyclical assignment, e.g. red->yellow->red (not
- EGA).
-
- <Alt><F1>-<F10>
- Pause & set a 3-color cyclical assignment, e.g. green->white->blue (not
- EGA).
-
- <R>, <G>, <B>
- Pause and increase the red, green, or blue component of all colors by a
- small amount (not for EGA). Note the case distinction of this vs:
-
- <r>, <g>, <b>
- Pause and decrease the red, green, or blue component of all colors by a
- small amount (not for EGA).
-
- <D> or <A>
- Pause and load an external color map from the files DEFAULT.MAP or
- ALTERN.MAP, supplied with the program.
-
- <L>
- Pause and load an external color map (.MAP file). Several .MAP files
- are supplied with Fractint. See Palette Maps (p. 65).
-
- <S>
- Pause, prompt for a filename, and save the current palette to the named
- file (.MAP assumed). See Palette Maps (p. 65).
-
-
- 1.5 Palette Editing Commands
-
- Palette-editing mode provides a number of tools for modifying the colors
- in an image. It can be used only with MCGA or higher adapters, and only
- with 16 or 256 color video modes. Many thanks to Ethan Nagel for
- creating the palette editor.
-
- Use the <E> key to enter palette-editing mode from a displayed image or
- from the main menu.
-
- Fractint Version 18.2 Page 18
-
- When this mode is entered, an empty palette frame is displayed. You can
- use the cursor keys to position the frame outline, and <Pageup> and
- <Pagedn> to change its size. (The upper and lower limits on the size
- depend on the current video mode.) When the frame is positioned where
- you want it, hit Enter to display the current palette in the frame.
-
- Note that the palette frame shows R(ed) G(reen) and B(lue) values for
- two color registers at the top. The active color register has a solid
- frame, the inactive register's frame is dotted. Within the active
- register, the active color component is framed.
-
- Using the commands described below, you can assign particular colors to
- the registers and manipulate them. Note that at any given time there
- are two colors "X"d - these are pre-empted by the editor to display the
- palette frame. They can be edited but the results won't be visible. You
- can change which two colors are borrowed ("X"d out) by using the <v>
- command.
-
- Once the palette frame is displayed and filled in, the following
- commands are available:
-
- <F1>
- Bring up a HELP screen with commands specific to palette-editing mode.
-
- <Esc>
- Leave palette-editing mode
-
- <H>
- Hide the palette frame to see full image; the cross-hair remains visible
- and all functions remain enabled; hit <H> again to restore the palette
- display.
-
- Cursor keys
- Move the cross-hair cursor around. In 'auto' mode (the default) the
- color under the center of the cross-hair is automatically assigned to
- the active color register. Control-Cursor keys move the cross-hair
- faster. A mouse can also be used to move around.
-
- <R> <G> <B>
- Select the Red, Green, or Blue component of the active color register
- for subsequent commands
-
- <Insert> <Delete>
- Select previous or next color component in active register
-
- <+> <->
- Increase or decrease the active color component value by 1 Numeric
- keypad (gray) + and - keys do the same.
-
- <Pageup> <Pagedn>
- Increase or decrease the active color component value by 5; Moving the
- mouse up/down with left button held is the same
-
- <0> <1> <2> <3> <4> <5>
- Set the active color component's value to 0 10 20 ... 60
-
- Fractint Version 18.2 Page 19
-
- <Space>
- Select the other color register as the active one. In the default
- 'auto' mode this results in the now-inactive register being set to
- remember the color under the cursor, and the now-active register
- changing from whatever it had previously remembered to now follow the
- color.
-
- <,> <.>
- Rotate the palette one step. By default colors 1 through 255 inclusive
- are rotated. This range can be over-ridden with the "cyclerange"
- parameter, the <Y> options screen, or the <O> command described below.
-
- "<" ">"
- Rotate the palette continuously (until next keystroke)
-
- <O>
- Set the color cycling range to the range of colors currently defined by
- the color registers.
-
- <C>
- Enter Color-Cycling Mode. When you invoke color-cycling from here, it
- will subsequently return to palette-editing when you <Esc> from it. See
- Color Cycling Commands (p. 16).
-
- <=>
- Create a smoothly shaded range of colors between the colors selected by
- the two color registers.
-
- <M>
- Specify a gamma value for the shading created by <=>.
-
- <D>
- Duplicate the inactive color register's values to the active color
- register.
-
- <T>
- Stripe-shade - create a smoothly shaded range of colors between the two
- color registers, setting only every Nth register. After hitting <T>,
- hit a numeric key from 2 to 9 to specify N. For example, if you press
- <T> <3>, smooth shading is done between the two color registers,
- affecting only every 3rd color between them. The other colors between
- them remain unchanged.
-
- <W>
- Convert current palette to gray-scale. (If the <X> or <Y> exclude
- ranges described later are in force, only the active range of colors is
- converted to gray-scale.)
-
- <Shift-F2> ... <Shift-F9>
- Store the current palette in a temporary save area associated with the
- function key. The temporary save palettes are useful for quickly
- comparing different palettes or the effect of some changes - see next
- command. The temporary palettes are only remembered until you exit from
- palette-editing mode.
-
- Fractint Version 18.2 Page 20
-
- <F2> ... <F9>
- Restore the palette from a temporary save area. If you haven't
- previously saved a palette for the function key, you'll get a simple
- grey scale.
-
- <L>
- Pause and load an external color map (.MAP file). See Palette Maps
- (p. 65).
-
- <S>
- Pause, prompt for a filename, and save the current palette to the named
- file (.MAP assumed). See Palette Maps (p. 65).
-
- <I>
- Invert frame colors. With some colors the palette is easier to see when
- the frame colors are interchanged.
- <\>
- Move or resize the palette frame. The frame outline is drawn - it can
- then be repositioned and sized with the cursor keys, <Pageup> and
- <Pagedn>, just as was done when first entering palette-editing mode.
- Hit Enter when done moving/sizing.
-
- <V>
- Use the colors currently selected by the two color registers for the
- palette editor's frame. When palette editing mode is entered, the last
- two colors are "X"d out for use by the palette editor; this command can
- be used to replace the default with two other color numbers.
-
- <A>
- Toggle 'auto' mode on or off. When on (the default), the active color
- register follows the cursor; when off, <Enter> must be pressed to set
- the active register to the color under the cursor.
-
- <Enter>
- Only useful when 'auto' is off, as described above; double clicking the
- left mouse button is the same as Enter.
-
- <X>
- Toggle 'exclude' mode on or off - when toggled on, only those image
- pixels which match the active color are displayed.
-
- <Y>
- Toggle 'exclude' range on or off - similar to <X>, but all pixels
- matching colors in the range of the two color registers are displayed.
-
- <N>
- Make a negative color palette - will convert only current color if in
- 'x' mode or range between editors in 'y' mode or entire palette if in
- "normal" mode.
-
- <!>
- <@>
- <#>
- Swap R<->G, G<->B, and R<->B columns. These keys are shifted 1, 2, and
- 3, which you may find easier to remember.
-
- Fractint Version 18.2 Page 21
-
- <U>
- Undoes the last palette editor command. Will undo all the way to the
- beginning of the current session.
- <E> Redoes the undone palette editor commands.
-
- <F>
- Toggles "Freestyle mode" on and off (Freestyle mode changes a range of
- palette values smoothly from a center value outward). With your cursor
- inside the palette box, press the <F> key to enter Freestyle mode. A
- default range of colors will be selected for you centered at the cursor
- (the ends of the color range are noted by putting dashed lines around
- the corresponding palette values). While in Freestyle mode:
-
- Moving the mouse changes the location of the range of colors that are
- affected.
-
- Control-Insert/Delete or the shifted-right-mouse-button changes the
- size of the affected palette range.
-
- The normal color editing keys (R,G,B,1-6, etc) set the central color of
- the affected palette range.
- Pressing ENTER or double-clicking the left mouse button makes the
- palette changes permanent (if you don't perform this step, any palette
- changes disappear when you press the <F> key again to exit freestyle
- mode).
-
-
- 1.6 Image Save/Restore Commands
-
- <S> saves the current image to disk. All parameters required to recreate
- the image are saved with it. Progress is marked by colored lines moving
- down the screen's edges.
-
- The default filename for the first image saved after starting Fractint
- is FRACT001.GIF; subsequent saves in the same session are automatically
- incremented 002, 003... Use the "savename=" parameter or <X> options
- screen to change the name. By default, files left over from previous
- sessions are not overwritten - the first unused FRACTnnn name is used.
- Use the "overwrite=yes" parameter or <X> options screen) to overwrite
- existing files.
-
- A save operation can be interrupted by pressing any key. If you
- interrupt, you'll be asked whether to keep or discard the partial file.
-
- <R> restores an image previously saved with <S>, or an ordinary GIF
- file. After pressing <R> you are shown the file names in the current
- directory which match the current file mask. To select a file to
- restore, move the cursor to it (or type the first few letters of its
- name) and press <Enter>.
-
- Directories are shown in the file list with a "\" at the end of the
- name. When you select a directory, the contents of that directory are
- shown. Or, you can type the name of a different directory (and
- optionally a different drive) and press <Enter> for a new display. You
- can also type a mask such as "*.XYZ" and press <Enter> to display files
- whose name ends with the matching suffix (XYZ).
-
- Fractint Version 18.2 Page 22
-
- You can use <F6> to switch directories to the default fractint directory
- or to your own directory which is specified through the DOS environment
- variable "FRACTDIR".
-
- Once you have selected a file to restore, a summary description of the
- file is shown, with a video mode selection list. Usually you can just
- press <Enter> to go past this screen and load the image. Other choices
- available at this point are:
- Cursor keys: select a different video mode
- <Tab>: display more information about the fractal
- <F1>: for help about the "err" column in displayed video modes
- If you restore a file into a video mode which does not have the same
- pixel dimensions as the file, Fractint will make some adjustments: The
- view window parameters (see <V> command) will automatically be set to an
- appropriate size, and if the image is larger than the screen dimensions,
- it will be reduced by using only every Nth pixel during the restore.
-
-
- 1.7 Print Command
-
- <P>
-
- Print the current fractal image on your (Laserjet, Paintjet, Epson-
- compatible, PostScript, or HP-GL) printer.
-
- See "Setting Defaults (SSTOOLS.INI File)" (p. 90) and "Printer
- Parameters" (p. 104) for how to let Fractint know about your printer
- setup.
-
- "Disk-Video" Modes (p. 114) can be used to generate images for printing
- at higher resolutions than your screen supports.
-
-
- 1.8 Parameter Save/Restore Commands
-
- Parameter files can be used to save/restore all options and settings
- required to recreate particular images. The parameters required to
- describe an image require very little disk space, especially compared
- with saving the image itself.
-
- <@>
-
- The <@> command loads a set of parameters describing an image.
- (Actually, it can also be used to set non-image parameters such as
- SOUND, but at this point we're interested in images. Other uses of
- parameter files are discussed in "Parameter Files and the <@> Command"
- (p. 91).)
-
- When you hit <@>, Fractint displays the names of the entries in the
- currently selected parameter file. The default parameter file,
- FRACTINT.PAR, is included with the Fractint release and contains
- parameters for some sample images.
-
- After pressing <@>, highlight an entry and press <Enter> to load it, or
- press <F6> to change to another parameter file.
-
- Fractint Version 18.2 Page 23
-
- Note that parameter file entries specify all calculation related
- parameters, but do not specify things like the video mode - the image
- will be plotted in your currently selected mode.
-
- <B>
-
- The <B> command saves the parameters required to describe the currently
- displayed image, which can subsequently be used with the <@> command to
- recreate it.
-
- After you press <B>, Fractint prompts for:
-
- Parameter file: The name of the file to store the parameters in. You
- should use some name like "myimages" instead of fractint.par, so that
- your images are kept separate from the ones released with new versions
- of Fractint. You can use the PARMFILE= command in SSTOOLS.INI to set
- the default parameter file name to "myimages" or whatever. (See
- "Setting Defaults (SSTOOLS.INI File)" (p. 90) and "parmfile=" in
- "File Parameters" (p. 100).)
-
- Name: The name you want to assign to the entry, to be displayed when
- the <@> command is used.
-
- Main comment: A comment to be shown beside the entry in the <@>
- command display.
-
- Second, Third, and Fourth comment: Additional comments to store in
- the file with the entry. These comments go in the file only, and are
- not displayed by the <@> command.
-
- Record colors?: Whether color information should be included in the
- entry. Usually the default value displayed by Fractint is what you
- want. Allowed values are:
- "no" - Don't record colors. This is the default if the image is using
- your video adapter's default colors.
- "@mapfilename" - When these parameters are used, load colors from the
- named color map file. This is the default if you are currently
- using colors from a color map file.
- "yes" - Record the colors in detail. This is the default when you've
- changed the display colors by using the palette editor or by color
- cycling. The only reason that this isn't what Fractint always does
- for the <B> command is that color information can be bulky - up to
- nearly 1K of disk space. That may not sound like much, but can add
- up when you consider the thousands of wonderful images you may find
- you just *have* to record... Smooth-shaded ranges of colors are
- compressed, so if that's used a lot in an image the color
- information won't be as bulky.
-
- # of colors: This only matters if "Record colors?" is set to "yes".
- It specifies the number of colors to record. Recording less colors
- will take less space. Usually the default value displayed by Fractint
- is what you want. You might want to increase it in some cases, e.g. if
- you are using a 256 color mode with maxiter 150, and have used the
- palette editor to set all 256 possible colors for use with color
- cycling, then you'll want to set the "# of colors" to 256.
-
- Fractint Version 18.2 Page 24
-
- At the bottom of the input screen are inputs for Fractint's "pieces"
- divide-and-conquer feature. You can create multiple PAR entries that
- break an image up into pieces so that you can generate the image
- pieces one by one. There are two reasons for doing this. The first is
- in case the fractal is very slow, and you want to generate parts of
- the image at the same time on several computers. The second is that
- you might want to make an image greater than 2048 x 2048. The
- parameters for this feature are:
- X Multiples - How many divisions of final image in the x direction
- Y Multiples - How many divisions of final image in the y direction
- Video mode - Fractint video mode for each piece (e.g. "F3")
-
- The last item defaults to the current video mode. If either X
- Multiples or Y Multiples are greater than 1, then multiple numbered
- PAR entries for the pieces are added to the PAR file, and a
- MAKEMIG.BAT file is created that builds all of the component pieces
- and then stitches them together into a "multi-image" GIF. The current
- limitations of the "divide and conquer" algorithm are 36 or fewer X
- and Y multiples (so you are limited to "only" 36x36=1296 component
- images), and a final resolution limit in both the X and Y directions
- of 65,535 (a limitation of "only" four billion pixels or so).
-
- The final image generated by MAKEMIG is a "multi-image" GIF file
- called FRACTMIG.GIF. In case you have other software that can't
- handle multi-image GIF files, MAKEMIG includes a final (but commented
- out) call to SIMPLGIF, a companion program that reads a GIF file that
- may contain little tricks like multiple images and creates a simple
- GIF from it. Fair warning: SIMPLGIF needs room to build a composite
- image while it works, and it does that using a temporary disk file
- equal to the size of the final image - and a 64Kx64K GIF image
- requires a 4GB temporary disk file!
-
- <G>
-
- The <G> command lets you give a startup parameter interactively.
-
-
- 1.9 "3D" Commands
-
- See "3D" Images (p. 76) for details of these commands.
-
- <3>
- Restore a saved image as a 3D "landscape", translating its color
- information into "height". You will be prompted for all KINDS of
- options.
-
- <#>
- Restore in 3D and overlay the result on the current screen.
-
- Fractint Version 18.2 Page 25
-
- 1.10 Interrupting and Resuming
-
- Fractint command keys can be loosely grouped as:
-
- o Keys which suspend calculation of the current image (if one is being
- calculated) and automatically resume after the function. <Tab>
- (display status information) and <F1> (display help), are the only
- keys in this group.
-
- o Keys which automatically trigger calculation of a new image.
- Examples: selecting a video mode (e.g. <F3>); selecting a fractal
- type using <T>; using the <X> screen to change an option such as
- maximum iterations.
-
- o Keys which do something, then wait for you to indicate what to do
- next. Examples: <M> to go to main menu; <C> to enter color cycling
- mode; <PageUp> to bring up a zoom box. After using a command in
- this group, calculation automatically resumes when you return from
- the function (e.g. <Esc> from color cycling, <PageDn> to clear zoom
- box). There are a few fractal types which cannot resume calculation,
- they are noted below. Note that after saving an image with <S>, you
- must press <Enter> to clear the "saved" message from the screen and
- resume.
-
- An image which is <S>aved before it completes can later be <R>estored
- and continued. The calculation is automatically resumed when you restore
- such an image.
-
- When a slow fractal type resumes after an interruption in the third
- category above, there may be a lag while nothing visible happens. This
- is because most cases of resume restart at the beginning of a screen
- line. If unsure, you can check whether calculation has resumed with the
- <Tab> key.
-
- The following fractal types cannot (currently) be resumed: plasma, 3d
- transformations, julibrot, and 3d orbital types like lorenz3d. To check
- whether resuming an image is possible, use the <Tab> key while it is
- calculating. It is resumable unless there is a note under the fractal
- type saying it is not.
-
- The Batch Mode (p. 110) section discusses how to resume in batch mode.
-
- To <R>estore and resume a "formula", "lsystem", or "ifs" type fractal
- your "formulafile", "lfile", or "ifsfile" must contain the required
- name.
-
-
- 1.11 Orbits Window
-
- The <O> key turns on the Orbit mode. In this mode a cursor appears over
- the fractal. A window appears showing the orbit used in the calculation
- of the color at the point where the cursor is. Move the cursor around
- the fractal using the arrow keys or the mouse and watch the orbits
- change. Try entering the Orbits mode with View Windows (<V>) turned on.
- The following keys take effect in Orbits mode.
- <c> Circle toggle - makes little circles with radii inversely
-
- Fractint Version 18.2 Page 26
-
- proportional to the iteration. Press <c> again to toggle
- back to point-by-point display of orbits.
- <l> Line toggle - connects orbits with lines (can use with <c>)
- <n> Numbers toggle - shows coordinates of the cursor on the
- screen. Press <n> again to turn off numbers.
- <p> Enter pixel coordinates directly
- <h> Hide fractal toggle. Works only if View Windows is turned on
- and set for a small window (such as the default size.) Hides the
- fractal, allowing the orbit to take up the whole screen. Press
- <h> again to uncover the fractal.
- <s> Saves the fractal, cursor, orbits, and numbers as they
- appear
- on the screen.
- <<> or <,> Zoom orbits image smaller
- <>> or <.> Zoom orbits image larger
- <z> Restore default zoom.
-
-
- 1.12 View Window
-
- The <V> command is used to set the view window parameters described
- below. These parameters can be used to:
- o Define a small window on the screen which is to contain the generated
- images. Using a small window speeds up calculation time (there are
- fewer pixels to generate). You can use a small window to explore
- quickly, then turn the view window off to recalculate the image at
- full screen size.
- o Generate an image with a different "aspect ratio"; e.g. in a square
- window or in a tall skinny rectangle.
- o View saved GIF images which have pixel dimensions different from any
- mode supported by your hardware. This use of view windows occurs
- automatically when you restore such an image.
-
- "Preview display"
- Set this to "yes" to turn on view window, "no" for full screen display.
- While this is "no", the only view parameter which has any affect is
- "final media aspect ratio". When a view window is being used, all other
- Fractint functions continue to operate normally - you can zoom, color-
- cycle, and all the rest.
-
- "Reduction factor"
- When an explicit size is not given, this determines the view window
- size, as a factor of the screen size. E.g. a reduction factor of 2
- makes the window 1/2 as big as the screen in both dimensions.
-
- "Final media aspect ratio"
- This is the height of the final image you want, divided by the width.
- The default is 0.75 because standard PC monitors have a height:width
- ratio of 3:4. E.g. set this to 2.0 for an image twice as high as it is
- wide. The effect of this parameter is visible only when "preview
- display" is enabled.
-
- "Crop starting coordinates"
- This parameter affects what happens when you change the aspect ratio. If
- set to "no", then when you change aspect ratio, the prior image will be
- squeezed or stretched to fit into the new shape. If set to "yes", the
-
- Fractint Version 18.2 Page 27
-
- prior image is "cropped" to avoid squeezing or stretching.
-
- "Explicit size"
- Setting these to non-zero values over-rides the "reduction factor" with
- explicit sizes in pixels. If only the "x pixels" size is specified, the
- "y pixels" size is calculated automatically based on x and the aspect
- ratio.
-
- More about final aspect ratio: If you want to produce a high quality
- hard-copy image which is say 8" high by 5" down, based on a vertical
- "slice" of an existing image, you could use a procedure like the
- following. You'll need some method of converting a GIF image to your
- final media (slide or whatever) - Fractint can only do the whole job
- with a PostScript printer, it does not preserve aspect ratio with other
- printers.
- o restore the existing image
- o set view parameters: preview to yes, reduction to anything (say 2),
- aspect ratio to 1.6, and crop to yes
- o zoom, rotate, whatever, till you get the desired final image
- o set preview display back to no
- o trigger final calculation in some high res disk video mode, using the
- appropriate video mode function key
- o print directly to a PostScript printer, or save the result as a GIF
- file and use external utilities to convert to hard copy.
-
-
- 1.13 Video Mode Function Keys
-
- Fractint supports *so* many video modes that we've given up trying to
- reserve a keyboard combination for each of them.
-
- Any supported video mode can be selected by going to the "Select Video
- Mode" screen (from main menu or by using <Delete>), then using the
- cursor up and down arrow keys and/or <PageUp> and <PageDown> keys to
- highlight the desired mode, then pressing <Enter>.
-
- Up to 39 modes can be assigned to the keys F2-F10, SF1-SF10
- <Shift>+<Fn>), CF1-CF10 (<Ctrl>+<Fn>), and AF1-AF10 (<Alt>+<Fn>). The
- modes assigned to function keys can be invoked directly by pressing the
- assigned key, without going to the video mode selection screen.
-
- 30 key combinations can be reassigned: <F1> to <F10> combined with any
- of <Shift>, <Ctrl>, or <Alt>. The video modes assigned to <F2> through
- <F10> can not be changed - these are assigned to the most common video
- modes, which might be used in demonstration files or batches.
-
- To reassign a function key to a mode you often use, go to the "select
- video mode" screen, highlight the video mode, press the keypad (gray)
- <+> key, then press the desired function key or key combination. The
- new key assignment will be remembered for future runs.
-
- To unassign a key (so that it doesn't invoke any video mode), highlight
- the mode currently selected by the key and press the keypad (gray) <->
- key.
-
- Fractint Version 18.2 Page 28
-
- A note about the "select video modes" screen: the video modes which are
- displayed with a 'B' suffix in the number of colors are modes which have
- no custom programming - they use the BIOS and are S-L-O-W ones.
-
- See "Video Adapter Notes" (p. 112) for comments about particular
- adapters.
-
- See "Disk-Video" Modes (p. 114) for a description of these non-display
- modes.
-
- See "Customized Video Modes, FRACTINT.CFG" (p. 115) for information
- about adding your own video modes.
-
-
- 1.14 Hints
-
- Remember, you do NOT have to wait for the program to finish a full
- screen display before entering a command. If you see an interesting spot
- you want to zoom in on while the screen is half-done, don't wait -- do
- it! If you think after seeing the first few lines that another video
- mode would look better, go ahead -- Fractint will shift modes and start
- the redraw at once. When it finishes a display, it beeps and waits for
- your next command.
-
- In general, the most interesting areas are the "border" areas where the
- colors are changing rapidly. Zoom in on them for the best results. The
- first Mandelbrot-set (default) fractal image has a large, solid-colored
- interior that is the slowest to display; there's nothing to be seen by
- zooming there.
-
- Plotting time is directly proportional to the number of pixels in a
- screen, and hence increases with the resolution of the video mode. You
- may want to start in a low-resolution mode for quick progress while
- zooming in, and switch to a higher-resolution mode when things get
- interesting. Or use the solid guessing mode and pre-empt with a zoom
- before it finishes. Plotting time also varies with the maximum iteration
- setting, the fractal type, and your choice of drawing mode. Solid-
- guessing (the default) is fastest, but it can be wrong: perfectionists
- will want to use dual-pass mode (its first-pass preview is handy if you
- might zoom pre-emptively) or single-pass mode.
-
- When you start systematically exploring, you can save time (and hey,
- every little bit helps -- these "objects" are INFINITE, remember!) by
- <S>aving your last screen in a session to a file, and then going
- straight to it the next time by using the command FRACTINT FRACTxxx (the
- .GIF extension is assumed), or by starting Fractint normally and then
- using the <R> command to reload the saved file. Or you could hit <B> to
- create a parameter file entry with the "recipe" for a given image, and
- next time use the <@> command to re-plot it.
-
- Fractint Version 18.2 Page 29
-
- 2. Fractal Types
-
- A list of the fractal types and their mathematics can be found in the
- Summary of Fractal Types (p. 127). Some notes about how Fractint
- calculates them are in "A Little Code" in "Fractals and the PC" (p. 121)
- .
-
- Fractint starts by default with the Mandelbrot set. You can change that
- by using the command-line argument "TYPE=" followed by one of the
- fractal type names, or by using the <T> command and selecting the type -
- if parameters are needed, you will be prompted for them.
-
- In the text that follows, due to the limitations of the ASCII character
- set, "a*b" means "a times b", and "a^b" means "a to the power b".
-
-
-
- 2.1 The Mandelbrot Set
-
- (type=mandel)
-
- This set is the classic: the only one implemented in many plotting
- programs, and the source of most of the printed fractal images published
- in recent years. Like most of the other types in Fractint, it is simply
- a graph: the x (horizontal) and y (vertical) coordinate axes represent
- ranges of two independent quantities, with various colors used to
- symbolize levels of a third quantity which depends on the first two. So
- far, so good: basic analytic geometry.
-
- Now things get a bit hairier. The x axis is ordinary, vanilla real
- numbers. The y axis is an imaginary number, i.e. a real number times i,
- where i is the square root of -1. Every point on the plane -- in this
- case, your PC's display screen -- represents a complex number of the
- form:
-
- x-coordinate + i * y-coordinate
-
- If your math training stopped before you got to imaginary and complex
- numbers, this is not the place to catch up. Suffice it to say that they
- are just as "real" as the numbers you count fingers with (they're used
- every day by electrical engineers) and they can undergo the same kinds
- of algebraic operations.
-
- OK, now pick any complex number -- any point on the complex plane -- and
- call it C, a constant. Pick another, this time one which can vary, and
- call it Z. Starting with Z=0 (i.e., at the origin, where the real and
- imaginary axes cross), calculate the value of the expression
-
- Z^2 + C
-
- Take the result, make it the new value of the variable Z, and calculate
- again. Take that result, make it Z, and do it again, and so on: in
- mathematical terms, iterate the function Z(n+1) = Z(n)^2 + C. For
- certain values of C, the result "levels off" after a while. For all
- others, it grows without limit. The Mandelbrot set you see at the start
- -- the solid-colored lake (blue by default), the blue circles sprouting
-
- Fractint Version 18.2 Page 30
-
- from it, and indeed every point of that color -- is the set of all
- points C for which the value of Z is less than 2 after 150 iterations
- (150 is the default setting, changeable via the <X> options screen or
- "maxiter=" parameter). All the surrounding "contours" of other colors
- represent points for which Z exceeds 2 after 149 iterations (the contour
- closest to the M-set itself), 148 iterations, (the next one out), and so
- on.
-
- We actually don't test for Z exceeding 2 - we test Z squared against 4
- instead because it is easier. This value (FOUR usually) is known as the
- "bailout" value for the calculation, because we stop iterating for the
- point when it is reached. The bailout value can be changed on the <Z>
- options screen but the default is usually best.
-
- Some features of interest:
-
- 1. Use the <X> options screen to increase the maximum number of
- iterations. Notice that the boundary of the M-set becomes more and more
- convoluted (the technical terms are "wiggly," "squiggly," and "utterly
- bizarre") as the Z-values for points that were still within the set
- after 150 iterations turn out to exceed 2 after 200, 500, or 1200. In
- fact, it can be proven that the true boundary is infinitely long: detail
- without limit.
-
- 2. Although there appear to be isolated "islands" of blue, zoom in --
- that is, plot for a smaller range of coordinates to show more detail --
- and you'll see that there are fine "causeways" of blue connecting them
- to the main set. As you zoomed, smaller islands became visible; the same
- is true for them. In fact, there are no isolated points in the M-set: it
- is "connected" in a strict mathematical sense.
-
- 3. The upper and lower halves of the first image are symmetric (a fact
- that Fractint makes use of here and in some other fractal types to speed
- plotting). But notice that the same general features -- lobed discs,
- spirals, starbursts -- tend to repeat themselves (although never
- exactly) at smaller and smaller scales, so that it can be impossible to
- judge by eye the scale of a given image.
-
- 4. In a sense, the contour colors are window-dressing: mathematically,
- it is the properties of the M-set itself that are interesting, and no
- information about it would be lost if all points outside the set were
- assigned the same color. If you're a serious, no-nonsense type, you may
- want to cycle the colors just once to see the kind of silliness that
- other people enjoy, and then never do it again. Go ahead. Just once,
- now. We trust you.
-
-
- 2.2 Julia Sets
-
- (type=julia)
-
- These sets were named for mathematician Gaston Julia, and can be
- generated by a simple change in the iteration process described for the
- Mandelbrot Set (p. 29). Start with a specified value of C, "C-real + i
- * C-imaginary"; use as the initial value of Z "x-coordinate + i * y-
- coordinate"; and repeat the same iteration, Z(n+1) = Z(n)^2 + C.
-
- Fractint Version 18.2 Page 31
-
- There is a Julia set corresponding to every point on the complex plane
- -- an infinite number of Julia sets. But the most visually interesting
- tend to be found for the same C values where the M-set image is busiest,
- i.e. points just outside the boundary. Go too far inside, and the
- corresponding Julia set is a circle; go too far outside, and it breaks
- up into scattered points. In fact, all Julia sets for C within the M-set
- share the "connected" property of the M-set, and all those for C outside
- lack it.
-
- Fractint's spacebar toggle lets you "flip" between any view of the M-set
- and the Julia set for the point C at the center of that screen. You can
- then toggle back, or zoom your way into the Julia set for a while and
- then return to the M-set. So if the infinite complexity of the M-set
- palls, remember: each of its infinite points opens up a whole new Julia
- set.
-
- Historically, the Julia sets came first: it was while looking at the M-
- set as an "index" of all the Julia sets' origins that Mandelbrot noticed
- its properties.
-
- The relationship between the Mandelbrot (p. 29) set and Julia set can
- hold between other sets as well. Many of Fractint's types are
- "Mandelbrot/Julia" pairs (sometimes called "M-sets" or "J-sets". All
- these are generated by equations that are of the form z(k+1) =
- f(z(k),c), where the function orbit is the sequence z(0), z(1), ..., and
- the variable c is a complex parameter of the equation. The value c is
- fixed for "Julia" sets and is equal to the first two parameters entered
- with the "params=Creal/Cimag" command. The initial orbit value z(0) is
- the complex number corresponding to the screen pixel. For Mandelbrot
- sets, the parameter c is the complex number corresponding to the screen
- pixel. The value z(0) is c plus a perturbation equal to the values of
- the first two parameters. See the discussion of Mandellambda Sets
- (p. 35). This approach may or may not be the "standard" way to create
- "Mandelbrot" sets out of "Julia" sets.
-
- Some equations have additional parameters. These values are entered as
- the third for fourth params= value for both Julia and Mandelbrot sets.
- The variables x and y refer to the real and imaginary parts of z;
- similarly, cx and cy are the real and imaginary parts of the parameter c
- and fx(z) and fy(z) are the real and imaginary parts of f(z). The
- variable c is sometimes called lambda for historical reasons.
-
- NOTE: if you use the "PARAMS=" argument to warp the M-set by starting
- with an initial value of Z other than 0, the M-set/J-sets correspondence
- breaks down and the spacebar toggle no longer works.
-
-
- 2.3 Julia Toggle Spacebar Commands
-
- The spacebar toggle has been enhanced for the classic Mandelbrot and
- Julia types. When viewing the Mandelbrot, the spacebar turns on a window
- mode that displays the Inverse Julia corresponding to the cursor
- position in a window. Pressing the spacebar then causes the regular
- Julia escape time fractal corresponding to the cursor position to be
- generated. The following keys take effect in Inverse Julia mode.
-
- Fractint Version 18.2 Page 32
-
- <Space> Generate the escape-time Julia Set corresponding to the
- cursor
- position. Only works if fractal is a "Mandelbrot" type.
- <n> Numbers toggle - shows coordinates of the cursor on the
- screen. Press <n> again to turn off numbers.
- <p> Enter new pixel coordinates directly
- <h> Hide fractal toggle. Works only if View Windows is turned on
- and set for a small window (such as the default size.) Hides
- the fractal, allowing the orbit to take up the whole screen.
- Press <h> again to uncover the fractal.
- <s> Saves the fractal, cursor, orbits, and numbers.
- <<> or <,> Zoom inverse julia image smaller.
- <>> or <.> Zoom inverse julia image larger.
- <z> Restore default zoom.
-
- The Julia Inverse window is only implemented for the classic Mandelbrot
- (type=mandel). For other "Mandelbrot" types <space> turns on the cursor
- without the Julia window, and allows you to select coordinates of the
- matching Julia set in a way similar to the use of the zoom box with the
- Mandelbrot/Julia toggle in previous Fractint versions.
-
-
- 2.4 Inverse Julias
-
- (type=julia_inverse)
-
- Pick a function, such as the familiar Z(n) = Z(n-1) squared plus C (the
- defining function of the Mandelbrot Set). If you pick a point Z(0) at
- random from the complex plane, and repeatedly apply the function to it,
- you get a sequence of new points called an orbit, which usually either
- zips out toward infinity or zooms in toward one or more "attractor"
- points near the middle of the plane. The set of all points that are
- "attracted" to infinity is called the "Basin of Attraction" of infinity.
- Each of the other attractors also has its own Basin of Attraction. Why
- is it called a Basin? Imagine a lake, and all the water in it
- "draining" into the attractor. The boundary between these basins is
- called the Julia Set of the function.
-
- The boundary between the basins of attraction is sort of like a
- repeller; all orbits move away from it, toward one of the attractors.
- But if we define a new function as the inverse of the old one, as for
- instance Z(n) = sqrt(Z(n-1) minus C), then the old attractors become
- repellers, and the former boundary itself becomes the attractor! Now,
- starting from any point, all orbits are drawn irresistibly to the Julia
- Set! In fact, once an orbit reaches the boundary, it will continue to
- hop about until it traces the entire Julia Set! This method for drawing
- Julia Sets is called the Inverse Iteration Method, or IIM for short.
-
- Unfortunately, some parts of each Julia Set boundary are far more
- attractive to inverse orbits than others are, so that as an orbit traces
- out the set, it keeps coming back to these attractive parts again and
- again, only occasionally visiting the less attractive parts. Thus it
- may take an infinite length of time to draw the entire set. To hasten
- the process, we can keep track of how many times each pixel on our
- computer screen is visited by an orbit, and whenever an orbit reaches a
- pixel that has already been visited more than a certain number of times,
-
- Fractint Version 18.2 Page 33
-
- we can consider that orbit finished and move on to another one. This
- "hit limit" thus becomes similar to the iteration limit used in the
- traditional escape-time fractal algorithm. This is called the Modified
- Inverse Iteration Method, or MIIM, and is much faster than the IIM.
-
- Now, the inverse of Mandelbrot's classic function is a square root, and
- the square root actually has two solutions; one positive, one negative.
- Therefore at each step of each orbit of the inverse function there is a
- decision; whether to use the positive or the negative square root. Each
- one gives rise to a new point on the Julia Set, so each is a good
- choice. This series of choices defines a binary decision tree, each
- point on the Julia Set giving rise to two potential child points. There
- are many interesting ways to traverse a binary tree, among them Breadth
- first, Depth first (left or negative first), Depth first (right or
- positive first), and completely at random. It turns out that most
- traversal methods lead to the same or similar pictures, but that how the
- image evolves as the orbits trace it out differs wildly depending on the
- traversal method chosen. As far as I know, this fact is an original
- discovery, and this version of FRACTINT is its first publication.
-
- Pick a Julia constant such as Z(0) = (-.74543, .11301), the popular
- Seahorse Julia, and try drawing it first Breadth first, then Depth first
- (right first), Depth first (left first), and finally with Random Walk.
-
- Caveats: the video memory is used in the algorithm, to keep track of how
- many times each pixel has been visited (by changing it's color).
- Therefore the algorithm will not work well if you zoom in far enough
- that part of the Julia Set is off the screen.
-
- Bugs: Not working with Disk Video.
- Not resumeable.
-
- The <J> key toggles between the Inverse Julia orbit and the
- corresponding Julia escape time fractal.
-
-
- 2.5 Newton domains of attraction
-
- (type=newtbasin)
-
- The Newton formula is an algorithm used to find the roots of polynomial
- equations by successive "guesses" that converge on the correct value as
- you feed the results of each approximation back into the formula. It
- works very well -- unless you are unlucky enough to pick a value that is
- on a line BETWEEN two actual roots. In that case, the sequence explodes
- into chaos, with results that diverge more and more wildly as you
- continue the iteration.
-
- This fractal type shows the results for the polynomial Z^n - 1, which
- has n roots in the complex plane. Use the <T>ype command and enter
- "newtbasin" in response to the prompt. You will be asked for a
- parameter, the "order" of the equation (an integer from 3 through 10 --
- 3 for x^3-1, 7 for x^7-1, etc.). A second parameter is a flag to turn on
- alternating shades showing changes in the number of iterations needed to
- attract an orbit. Some people like stripes and some don't, as always,
- Fractint gives you a choice!
-
- Fractint Version 18.2 Page 34
-
- The coloring of the plot shows the "basins of attraction" for each root
- of the polynomial -- i.e., an initial guess within any area of a given
- color would lead you to one of the roots. As you can see, things get a
- bit weird along certain radial lines or "spokes," those being the lines
- between actual roots. By "weird," we mean infinitely complex in the good
- old fractal sense. Zoom in and see for yourself.
-
- This fractal type is symmetric about the origin, with the number of
- "spokes" depending on the order you select. It uses floating-point math
- if you have an FPU, or a somewhat slower integer algorithm if you don't
- have one.
-
-
- 2.6 Newton
-
- (type=newton)
-
- The generating formula here is identical to that for newtbasin (p. 33),
- but the coloring scheme is different. Pixels are colored not according
- to the root that would be "converged on" if you started using Newton's
- formula from that point, but according to the iteration when the value
- is close to a root. For example, if the calculations for a particular
- pixel converge to the 7th root on the 23rd iteration, NEWTBASIN will
- color that pixel using color #7, but NEWTON will color it using color
- #23.
-
- If you have a 256-color mode, use it: the effects can be much livelier
- than those you get with type=newtbasin, and color cycling becomes, like,
- downright cosmic. If your "corners" choice is symmetrical, Fractint
- exploits the symmetry for faster display.
-
- The applicable "params=" values are the same as newtbasin. Try
- "params=4." Other values are 3 through 10. 8 has twice the symmetry and
- is faster. As with newtbasin, an FPU helps.
-
-
- 2.7 Complex Newton
-
- (type=complexnewton/complexbasin)
-
- Well, hey, "Z^n - 1" is so boring when you can use "Z^a - b" where "a"
- and "b" are complex numbers! The new "complexnewton" and "complexbasin"
- fractal types are just the old "newton" (p. 34) and "newtbasin"
- (p. 33) fractal types with this little added twist. When you select
- these fractal types, you are prompted for four values (the real and
- imaginary portions of "a" and "b"). If "a" has a complex portion, the
- fractal has a discontinuity along the negative axis - relax, we finally
- figured out that it's *supposed* to be there!
-
- Fractint Version 18.2 Page 35
-
- 2.8 Lambda Sets
-
- (type=lambda)
-
- This type calculates the Julia set of the formula lambda*Z*(1-Z). That
- is, the value Z[0] is initialized with the value corresponding to each
- pixel position, and the formula iterated. The pixel is colored according
- to the iteration when the sum of the squares of the real and imaginary
- parts exceeds 4.
-
- Two parameters, the real and imaginary parts of lambda, are required.
- Try 0 and 1 to see the classical fractal "dragon". Then try 0.2 and 1
- for a lot more detail to zoom in on.
-
- It turns out that all quadratic Julia-type sets can be calculated using
- just the formula z^2+c (the "classic" Julia"), so that this type is
- redundant, but we include it for reason of it's prominence in the
- history of fractals.
-
-
- 2.9 Mandellambda Sets
-
- (type=mandellambda)
-
- This type is the "Mandelbrot equivalent" of the lambda (p. 35) set. A
- comment is in order here. Almost all the Fractint "Mandelbrot" sets are
- created from orbits generated using formulas like z(n+1) = f(z(n),C),
- with z(0) and C initialized to the complex value corresponding to the
- current pixel. Our reasoning was that "Mandelbrots" are maps of the
- corresponding "Julias". Using this scheme each pixel of a "Mandelbrot"
- is colored the same as the Julia set corresponding to that pixel.
- However, Kevin Allen informs us that the MANDELLAMBDA set appears in the
- literature with z(0) initialized to a critical point (a point where the
- derivative of the formula is zero), which in this case happens to be the
- point (.5,0). Since Kevin knows more about Dr. Mandelbrot than we do,
- and Dr. Mandelbrot knows more about fractals than we do, we defer!
- Starting with version 14 Fractint calculates MANDELAMBDA Dr.
- Mandelbrot's way instead of our way. But ALL THE OTHER "Mandelbrot" sets
- in Fractint are still calculated OUR way! (Fortunately for us, for the
- classic Mandelbrot Set these two methods are the same!)
-
- Well now, folks, apart from questions of faithfulness to fractals named
- in the literature (which we DO take seriously!), if a formula makes a
- beautiful fractal, it is not wrong. In fact some of the best fractals in
- Fractint are the results of mistakes! Nevertheless, thanks to Kevin for
- keeping us accurate!
-
- (See description of "initorbit=" command in Image Calculation Parameters
- (p. 94) for a way to experiment with different orbit intializations).
-
- Fractint Version 18.2 Page 36
-
- 2.10 Circle
-
- (type=circle)
-
- This fractal types is from A. K. Dewdney's "Computer Recreations" column
- in "Scientific American". It is attributed to John Connett of the
- University of Minnesota.
-
- (Don't tell anyone, but this fractal type is not really a fractal!)
-
- Fascinating Moire patterns can be formed by calculating x^2 + y^2 for
- each pixel in a piece of the complex plane. After multiplication by a
- magnification factor (the parameter), the number is truncated to an
- integer and mapped to a color via color = value modulo (number of
- colors). That is, the integer is divided by the number of colors, and
- the remainder is the color index value used. The resulting image is not
- a fractal because all detail is lost after zooming in too far. Try it
- with different resolution video modes - the results may surprise you!
-
-
- 2.11 Plasma Clouds
-
- (type=plasma)
-
- Plasma clouds ARE real live fractals, even though we didn't know it at
- first. They are generated by a recursive algorithm that randomly picks
- colors of the corner of a rectangle, and then continues recursively
- quartering previous rectangles. Random colors are averaged with those of
- the outer rectangles so that small neighborhoods do not show much
- change, for a smoothed-out, cloud-like effect. The more colors your
- video mode supports, the better. The result, believe it or not, is a
- fractal landscape viewed as a contour map, with colors indicating
- constant elevation. To see this, save and view with the <3> command
- (see "3D" Images (p. 76)) and your "cloud" will be converted to a
- mountain!
-
- You've GOT to try color cycling (p. 16) on these (hit "+" or "-"). If
- you haven't been hypnotized by the drawing process, the writhing colors
- will do it for sure. We have now implemented subliminal messages to
- exploit the user's vulnerable state; their content varies with your bank
- balance, politics, gender, accessibility to a Fractint programmer, and
- so on. A free copy of Microsoft C to the first person who spots them.
-
- This type accepts four parameters.
-
- The first determines how abruptly the colors change. A value of .5
- yields bland clouds, while 50 yields very grainy ones. The default value
- is 2.
-
- The second determines whether to use the original algorithm (0) or a
- modified one (1). The new one gives the same type of images but draws
- the dots in a different order. It will let you see what the final image
- will look like much sooner than the old one.
-
- Fractint Version 18.2 Page 37
-
- The third determines whether to use a new seed for generating the next
- plasma cloud (0) or to use the previous seed (1).
-
- The fourth parameter turns on 16-bit .POT output which provides much
- smoother height gradations. This is especially useful for creating
- mountain landscapes when using the plasma output with a ray tracer such
- as POV-Ray.
-
- With parameter three set to 1, the next plasma cloud generated will be
- identical to the previous but at whatever new resolution is desired.
-
- Zooming is ignored, as each plasma-cloud screen is generated randomly.
-
- The random number seed used for each plasma image is displayed on the
- <tab> information screen, and can be entered with the command line
- parameter "rseed=" to recreate a particular image.
-
- The algorithm is based on the Pascal program distributed by Bret Mulvey
- as PLASMA.ARC. We have ported it to C and integrated it with Fractint's
- graphics and animation facilities. This implementation does not use
- floating-point math. The algorithm was modified starting with version 18
- so that the plasma effect is independent of screen resolution.
-
- Saved plasma-cloud screens are EXCELLENT starting images for fractal
- "landscapes" created with the "3D" commands (p. 24).
-
-
- 2.12 Lambdafn
-
- (type=lambdafn)
-
- Function=[sin|cos|sinh|cosh|exp|log|sqr|...]) is specified with this
- type. Prior to version 14, these types were lambdasine, lambdacos,
- lambdasinh, lambdacos, and lambdaexp. Where we say "lambdasine" or some
- such below, the good reader knows we mean "lambdafn with function=sin".)
-
- These types calculate the Julia set of the formula lambda*fn(Z), for
- various values of the function "fn", where lambda and Z are both
- complex. Two values, the real and imaginary parts of lambda, should be
- given in the "params=" option. For the feathery, nested spirals of
- LambdaSines and the frost-on-glass patterns of LambdaCosines, make the
- real part = 1, and try values for the imaginary part ranging from 0.1 to
- 0.4 (hint: values near 0.4 have the best patterns). In these ranges the
- Julia set "explodes". For the tongues and blobs of LambdaExponents, try
- a real part of 0.379 and an imaginary part of 0.479.
-
- A coprocessor used to be almost mandatory: each LambdaSine/Cosine
- iteration calculates a hyperbolic sine, hyperbolic cosine, a sine, and a
- cosine (the LambdaExponent iteration "only" requires an exponent, sine,
- and cosine operation)! However, Fractint now computes these
- transcendental functions with fast integer math. In a few cases the fast
- math is less accurate, so we have kept the old slow floating point code.
- To use the old code, invoke with the float=yes option, and, if you DON'T
- have a coprocessor, go on a LONG vacation!
-
- Fractint Version 18.2 Page 38
-
- 2.13 Mandelfn
-
- (type=mandelfn)
-
- Function=[sin|cos|sinh|cosh|exp|log|sqr|...]) is specified with this
- type. Prior to version 14, these types were mandelsine, mandelcos,
- mandelsinh, mandelcos, and mandelexp. Same comment about our lapses into
- the old terminology as above!
-
- These are "pseudo-Mandelbrot" mappings for the LambdaFn (p. 37) Julia
- functions. They map to their corresponding Julia sets via the spacebar
- command in exactly the same fashion as the original M/J sets. In
- general, they are interesting mainly because of that property (the
- function=exp set in particular is rather boring). Generate the
- appropriate "Mandelfn" set, zoom on a likely spot where the colors are
- changing rapidly, and hit the spacebar key to plot the Julia set for
- that particular point.
-
- Try "FRACTINT TYPE=MANDELFN CORNERS=4.68/4.76/-.03/.03 FUNCTION=COS" for
- a graphic demonstration that we're not taking Mandelbrot's name in vain
- here. We didn't even know these little buggers were here until Mark
- Peterson found this a few hours before the version incorporating
- Mandelfns was released.
-
- Note: If you created images using the lambda or mandel "fn" types prior
- to version 14, and you wish to update the fractal information in the
- "*.fra" file, simply read the files and save again. You can do this in
- batch mode via a command line such as:
-
- "fractint oldfile.fra savename=newfile.gif batch=yes"
-
- For example, this procedure can convert a version 13 "type=lambdasine"
- image to a version 14 "type=lambdafn function=sin" GIF89a image. We do
- not promise to keep this "backward compatibility" past version 14 - if
- you want to keep the fractal information in your *.fra files accurate,
- we recommend conversion. See GIF Save File Format (p. 150).
-
-
- 2.14 Barnsley Mandelbrot/Julia Sets
-
- (type=barnsleym1/.../j3)
-
- Michael Barnsley has written a fascinating college-level text, "Fractals
- Everywhere," on fractal geometry and its graphic applications. (See
- Bibliography (p. 152).) In it, he applies the principle of the M and J
- sets to more general functions of two complex variables.
-
- We have incorporated three of Barnsley's examples in Fractint. Their
- appearance suggests polarized-light microphotographs of minerals, with
- patterns that are less organic and more crystalline than those of the
- M/J sets. Each example has both a "Mandelbrot" and a "Julia" type.
- Toggle between them using the spacebar.
-
- The parameters have the same meaning as they do for the "regular"
- Mandelbrot and Julia. For types M1, M2, and M3, they are used to "warp"
- the image by setting the initial value of Z. For the types J1 through
-
- Fractint Version 18.2 Page 39
-
- J3, they are the values of C in the generating formulas.
-
- Be sure to try the <O>rbit function while plotting these types.
-
-
- 2.15 Barnsley IFS Fractals
-
- (type=ifs)
-
- One of the most remarkable spin-offs of fractal geometry is the ability
- to "encode" realistic images in very small sets of numbers -- parameters
- for a set of functions that map a region of two-dimensional space onto
- itself. In principle (and increasingly in practice), a scene of any
- level of complexity and detail can be stored as a handful of numbers,
- achieving amazing "compression" ratios... how about a super-VGA image of
- a forest, more than 300,000 pixels at eight bits apiece, from a 1-KB
- "seed" file?
-
- Again, Michael Barnsley and his co-workers at the Georgia Institute of
- Technology are to be thanked for pushing the development of these
- iterated function systems (IFS).
-
- When you select this fractal type, Fractint scans the current IFS file
- (default is FRACTINT.IFS, a set of definitions supplied with Fractint)
- for IFS definitions, then prompts you for the IFS name you wish to run.
- Fern and 3dfern are good ones to start with. You can press <F6> at the
- selection screen if you want to select a different .IFS file you've
- written.
-
- Note that some Barnsley IFS values generate images quite a bit smaller
- than the initial (default) screen. Just bring up the zoom box, center it
- on the small image, and hit <Enter> to get a full-screen image.
-
- To change the number of dots Fractint generates for an IFS image before
- stopping, you can change the "maximum iterations" parameter on the <X>
- options screen.
-
- Fractint supports two types of IFS images: 2D and 3D. In order to fully
- appreciate 3D IFS images, since your monitor is presumably 2D, we have
- added rotation, translation, and perspective capabilities. These share
- values with the same variables used in Fractint's other 3D facilities;
- for their meaning see "Rectangular Coordinate Transformation" (p. 81).
- You can enter these values from the command line using:
-
- rotation=xrot/yrot/zrot (try 30/30/30)
- shift=xshift/yshift (shifts BEFORE applying perspective!)
- perspective=viewerposition (try 200)
-
- Alternatively, entering <I> from main screen will allow you to modify
- these values. The defaults are the same as for regular 3D, and are not
- always optimum for 3D IFS. With the 3dfern IFS type, try
- rotation=30/30/30. Note that applying shift when using perspective
- changes the picture -- your "point of view" is moved.
-
- Fractint Version 18.2 Page 40
-
- A truly wild variation of 3D may be seen by entering "2" for the stereo
- mode (see "Stereo 3D Viewing" (p. 80)), putting on red/blue "funny
- glasses", and watching the fern develop with full depth perception right
- there before your eyes!
-
- This feature USED to be dedicated to Bruce Goren, as a bribe to get him
- to send us MORE knockout stereo slides of 3D ferns, now that we have
- made it so easy! Bruce, what have you done for us *LATELY* ?? (Just
- kidding, really!)
-
- Each line in an IFS definition (look at FRACTINT.IFS with your editor
- for examples) contains the parameters for one of the generating
- functions, e.g. in FERN:
- a b c d e f p
- ___________________________________
- 0 0 0 .16 0 0 .01
- .85 .04 -.04 .85 0 1.6 .85
- .2 -.26 .23 .22 0 1.6 .07
- -.15 .28 .26 .24 0 .44 .07
-
- The values on each line define a matrix, vector, and probability:
- matrix vector prob
- |a b| |e| p
- |c d| |f|
-
- The "p" values are the probabilities assigned to each function (how
- often it is used), which add up to one. Fractint supports up to 32
- functions, although usually three or four are enough.
-
- 3D IFS definitions are a bit different. The name is followed by (3D) in
- the definition file, and each line of the definition contains 13
- numbers: a b c d e f g h i j k l p, defining:
- matrix vector prob
- |a b c| |j| p
- |d e f| |k|
- |g h i| |l|
-
- The program FDESIGN can be used to design IFS fractals - see FDESIGN
- (p. 153).
-
- You can save the points in your IFS fractal in the file ORBITS.RAW which
- is overwritten each time a fractal is generated. The program Acrospin
- can read this file and will let you view the fractal from any angle
- using the cursor keys. See Acrospin (p. 153).
-
-
- 2.16 Sierpinski Gasket
-
- (type=sierpinski)
-
- Another pre-Mandelbrot classic, this one found by W. Sierpinski around
- World War I. It is generated by dividing a triangle into four congruent
- smaller triangles, doing the same to each of them, and so on, yea, even
- unto infinity. (Notice how hard we try to avoid reiterating
- "iterating"?)
-
- Fractint Version 18.2 Page 41
-
- If you think of the interior triangles as "holes", they occupy more and
- more of the total area, while the "solid" portion becomes as hopelessly
- fragile as that gasket you HAD to remove without damaging it -- you
- remember, that Sunday afternoon when all the parts stores were closed?
- There's a three-dimensional equivalent using nested tetrahedrons instead
- of triangles, but it generates too much pyramid power to be safely
- unleashed yet.
-
- There are no parameters for this type. We were able to implement it with
- integer math routines, so it runs fairly quickly even without an FPU.
-
-
- 2.17 Quartic Mandelbrot/Julia
-
- (type=mandel4/julia4)
-
- These fractal types are the moral equivalent of the original M and J
- sets, except that they use the formula Z(n+1) = Z(n)^4 + C, which adds
- additional pseudo-symmetries to the plots. The "Mandel4" set maps to the
- "Julia4" set via -- surprise! -- the spacebar toggle. The M4 set is kind
- of boring at first (the area between the "inside" and the "outside" of
- the set is pretty thin, and it tends to take a few zooms to get to any
- interesting sections), but it looks nice once you get there. The Julia
- sets look nice right from the start.
-
- Other powers, like Z(n)^3 or Z(n)^7, work in exactly the same fashion.
- We used this one only because we're lazy, and Z(n)^4 = (Z(n)^2)^2.
-
-
- 2.18 Distance Estimator
-
- (distest=nnn/nnn)
-
- This used to be type=demm and type=demj. These types have not died, but
- are only hiding! They are equivalent to the mandel and julia types with
- the "distest=" option selected with a predetermined value.
-
- The Distance Estimator Method (p. 68) can be used to produce higher
- quality images of M and J sets, especially suitable for printing in
- black and white.
-
- If you have some *.fra files made with the old types demm/demj, you may
- want to convert them to the new form. See the Mandelfn (p. 38) section
- for directions to carry out the conversion.
-
-
- 2.19 Pickover Mandelbrot/Julia Types
-
- (type=manfn+zsqrd/julfn+zsqrd, manzpowr/julzpowr, manzzpwr/julzzpwr,
- manfn+exp/julfn+exp - formerly included man/julsinzsqrd and
- man/julsinexp which have now been generalized)
-
- These types have been explored by Clifford A. Pickover, of the IBM
- Thomas J. Watson Research center. As implemented in Fractint, they are
- regular Mandelbrot/Julia set pairs that may be plotted with or without
- the "biomorph" (p. 72) option Pickover used to create organic-looking
-
- Fractint Version 18.2 Page 42
-
- beasties (see below). These types are produced with formulas built from
- the functions z^z, z^n, sin(z), and e^z for complex z. Types with
- "power" or "pwr" in their name have an exponent value as a third
- parameter. For example, type=manzpower params=0/0/2 is our old friend
- the classical Mandelbrot, and type=manzpower params=0/0/4 is the Quartic
- Mandelbrot. Other values of the exponent give still other fractals.
- Since these WERE the original "biomorph" types, we should give an
- example. Try:
-
- FRACTINT type=manfn+zsqrd biomorph=0 corners=-8/8/-6/6 function=sin
-
- to see a big biomorph digesting little biomorphs!
-
-
- 2.20 Pickover Popcorn
-
- (type=popcorn/popcornjul)
-
- Here is another Pickover idea. This one computes and plots the orbits of
- the dynamic system defined by:
-
- x(n+1) = x(n) - h*sin(y(n)+tan(3*y(n))
- y(n+1) = y(n) - h*sin(x(n)+tan(3*x(n))
-
- with the initializers x(0) and y(0) equal to ALL the complex values
- within the "corners" values, and h=.01. ALL these orbits are
- superimposed, resulting in "popcorn" effect. You may want to use a
- maxiter value less than normal - Pickover recommends a value of 50. As
- a bonus, type=popcornjul shows the Julia set generated by these same
- equations with the usual escape-time coloring. Turn on orbit viewing
- with the "O" command, and as you watch the orbit pattern you may get
- some insight as to where the popcorn comes from. Although you can zoom
- and rotate popcorn, the results may not be what you'd expect, due to the
- superimposing of orbits and arbitrary use of color. Just for fun we
- added type popcornjul, which is the plain old Julia set calculated from
- the same formula.
-
-
- 2.21 Peterson Variations
-
- (type=marksmandel, marksjulia, cmplxmarksmand, cmplxmarksjul,
- marksmandelpwr, tim's_error)
-
- These fractal types are contributions of Mark Peterson. MarksMandel and
- MarksJulia are two families of fractal types that are linked in the same
- manner as the classic Mandelbrot/Julia sets: each MarksMandel set can be
- considered as a mapping into the MarksJulia sets, and is linked with the
- spacebar toggle. The basic equation for these sets is:
- Z(n+1) = ((lambda^exp) * Z(n)^2) + lambda where Z(0) = 0.0 and
- lambda is (x + iy) for MarksMandel. For MarksJulia, Z(0) = (x + iy) and
- lambda is a constant (taken from the MarksMandel spacebar toggle, if
- that method is used). The exponent is a positive integer or a complex
- number. We call these "families" because each value of the exponent
- yields a different MarksMandel set, which turns out to be a kinda-
- polygon with (exponent+1) sides. The exponent value is the third
- parameter, after the "initialization warping" values. Typically one
-
- Fractint Version 18.2 Page 43
-
- would use null warping values, and specify the exponent with something
- like "PARAMS=0/0/4", which creates an unwarped, pentagonal MarksMandel
- set.
-
- In the process of coding MarksMandelPwr formula type, Tim Wegner created
- the type "tim's_error" after making an interesting coding mistake.
-
-
- 2.22 Unity
-
- (type=unity)
-
- This Peterson variation began with curiosity about other "Newton-style"
- approximation processes. A simple one,
-
- One = (x * x) + (y * y); y = (2 - One) * x; x = (2 - One) * y;
-
- produces the fractal called Unity.
-
- One of its interesting features is the "ghost lines." The iteration loop
- bails out when it reaches the number 1 to within the resolution of a
- screen pixel. When you zoom a section of the image, the bailout
- criterion is adjusted, causing some lines to become thinner and others
- thicker.
-
- Only one line in Unity that forms a perfect circle: the one at a radius
- of 1 from the origin. This line is actually infinitely thin. Zooming on
- it reveals only a thinner line, up (down?) to the limit of accuracy for
- the algorithm. The same thing happens with other lines in the fractal,
- such as those around |x| = |y| = (1/2)^(1/2) = .7071
-
- Try some other tortuous approximations using the TEST stub (p. 50) and
- let us know what you come up with!
-
-
- 2.23 Scott Taylor / Lee Skinner Variations
-
- (type=fn(z*z), fn*fn, fn*z+z, fn+fn, sqr(1/fn), sqr(fn), spider,
- tetrate, manowar)
-
- Two of Fractint's faithful users went bonkers when we introduced the
- "formula" type, and came up with all kinds of variations on escape-time
- fractals using trig functions. We decided to put them in as regular
- types, but there were just too many! So we defined the types with
- variable functions and let you, the, overwhelmed user, specify what the
- functions should be! Thus Scott Taylor's "z = sin(z) + z^2" formula type
- is now the "fn+fn" regular type, and EITHER function can be one of sin,
- cos, tan, cotan, sinh, cosh, tanh, cotanh, exp, log, sqr, recip, ident,
- conj, flip, or cosxx. Plus we give you 4 parameters to set, the complex
- coefficients of the two functions! Thus the innocent-looking "fn+fn"
- type is really 256 different types in disguise, not counting the damage
- done by the parameters!
-
- Some functions that require further explanation:
-
- Fractint Version 18.2 Page 44
-
- conj() - returns the complex conjugate of the argument. That is,
- changes
- sign of the imaginary component of argument: (x,y) becomes (x,-y)
- ident() - identity function. Leaves the value of the argument
- unchanged,
- acting like a "z" term in a formula.
- flip() - Swap the real and imaginary components of the complex
- number.
- e.g. (4,5) would become (5,4)
-
- Lee informs us that you should not judge fractals by their "outer"
- appearance. For example, the images produced by z = sin(z) + z^2 and z =
- sin(z) - z^2 look very similar, but are different when you zoom in.
-
-
- 2.24 Kam Torus
-
- (type=kamtorus, kamtorus3d)
-
- This type is created by superimposing orbits generated by a set of
- equations, with a variable incremented each time.
-
- x(0) = y(0) = orbit/3;
- x(n+1) = x(n)*cos(a) + (x(n)*x(n)-y(n))*sin(a)
- y(n+1) = x(n)*sin(a) - (x(n)*x(n)-y(n))*cos(a)
-
- After each orbit, 'orbit' is incremented by a step size. The parameters
- are angle "a", step size for incrementing 'orbit', stop value for
- 'orbit', and points per orbit. Try this with a stop value of 5 with
- sound=x for some weird fractal music (ok, ok, fractal noise)! You will
- also see the KAM Torus head into some chaotic territory that Scott
- Taylor wanted to hide from you by setting the defaults the way he did,
- but now we have revealed all!
-
- The 3D variant is created by treating 'orbit' as the z coordinate.
-
- With both variants, you can adjust the "maxiter" value (<X> options
- screen or parameter maxiter=) to change the number of orbits plotted.
-
-
- 2.25 Bifurcation
-
- (type=bifxxx)
-
- The wonder of fractal geometry is that such complex forms can arise from
- such simple generating processes. A parallel surprise has emerged in the
- study of dynamical systems: that simple, deterministic equations can
- yield chaotic behavior, in which the system never settles down to a
- steady state or even a periodic loop. Often such systems behave normally
- up to a certain level of some controlling parameter, then go through a
- transition in which there are two possible solutions, then four, and
- finally a chaotic array of possibilities.
-
- This emerged many years ago in biological models of population growth.
- Consider a (highly over-simplified) model in which the rate of growth is
- partly a function of the size of the current population:
-
- Fractint Version 18.2 Page 45
-
- New Population = Growth Rate * Old Population * (1 - Old Population)
-
- where population is normalized to be between 0 and 1. At growth rates
- less than 200 percent, this model is stable: for any starting value,
- after several generations the population settles down to a stable level.
- But for rates over 200 percent, the equation's curve splits or
- "bifurcates" into two discrete solutions, then four, and soon becomes
- chaotic.
-
- Type=bifurcation illustrates this model. (Although it's now considered a
- poor one for real populations, it helped get people thinking about
- chaotic systems.) The horizontal axis represents growth rates, from 190
- percent (far left) to 400 percent; the vertical axis normalized
- population values, from 0 to 4/3. Notice that within the chaotic region,
- there are narrow bands where there is a small, odd number of stable
- values. It turns out that the geometry of this branching is fractal;
- zoom in where changing pixel colors look suspicious, and see for
- yourself.
-
- Three parameters apply to bifurcations: Filter Cycles, Seed Population,
- and Function or Beta.
-
- Filter Cycles (default 1000) is the number of iterations to be done
- before plotting maxiter population values. This gives the iteration time
- to settle into the characteristic patterns that constitute the
- bifurcation diagram, and results in a clean-looking plot. However,
- using lower values produces interesting results too. Set Filter Cycles
- to 1 for an unfiltered map.
-
- Seed Population (default 0.66) is the initial population value from
- which all others are calculated. For filtered maps the final image is
- independent of Seed Population value in the valid range (0.0 < Seed
- Population < 1.0).
- Seed Population becomes effective in unfiltered maps - try setting
- Filter Cycles to 1 (unfiltered) and Seed Population to 0.001
- ("PARAMS=1/.001" on the command line). This results in a map overlaid
- with nice curves. Each Seed Population value results in a different set
- of curves.
-
- Function (default "ident") is the function applied to the old population
- before the new population is determined. The "ident" function calculates
- the same bifurcation fractal that was generated before these formulae
- were generalized.
-
- Beta is used in the bifmay bifurcations and is the power to which the
- denominator is raised.
-
- Note that fractint normally uses periodicity checking to speed up
- bifurcation computation. However, in some cases a better quality image
- will be obtained if you turn off periodicity checking with
- "periodicity=no"; for instance, if you use a high number of iterations
- and a smooth colormap.
-
- Many formulae can be used to produce bifurcations. Mitchel Feigenbaum
- studied lots of bifurcations in the mid-70's, using a HP-65 calculator
- (IBM PCs, Fractals, and Fractint, were all Sci-Fi then !). He studied
-
- Fractint Version 18.2 Page 46
-
- where bifurcations occurred, for the formula r*p*(1-p), the one
- described above. He found that the ratios of lengths of adjacent areas
- of bifurcation were four and a bit. These ratios vary, but, as the
- growth rate increases, they tend to a limit of 4.669+. This helped him
- guess where bifurcation points would be, and saved lots of time.
-
- When he studied bifurcations of r*sin(PI*p) he found a similar pattern,
- which is not surprising in itself. However, 4.669+ popped out, again.
- Different formulae, same number ? Now, THAT's surprising ! He tried
- many other formulae and ALWAYS got 4.669+ - Hot Damn !!! So hot, in
- fact, that he phoned home and told his Mom it would make him Famous ! He
- also went on to tell other scientists. The rest is History...
-
- (It has been conjectured that if Feigenbaum had a copy of Fractint, and
- used it to study bifurcations, he may never have found his Number, as it
- only became obvious from long perusal of hand-written lists of values,
- without the distraction of wild color-cycling effects !).
- We now know that this number is as universal as PI or E. It appears in
- situations ranging from fluid-flow turbulence, electronic oscillators,
- chemical reactions, and even the Mandelbrot Set - yup, fraid so:
- "budding" of the Mandelbrot Set along the negative real axis occurs at
- intervals determined by Feigenbaum's Number, 4.669201660910.....
-
- Fractint does not make direct use of the Feigenbaum Number (YET !).
- However, it does now reflect the fact that there is a whole sub-species
- of Bifurcation-type fractals. Those implemented to date, and the
- related formulae, (writing P for pop[n+1] and p for pop[n]) are :
-
- bifurcation P = p + r*fn(p)*(1-fn(p)) Verhulst Bifurcations.
- biflambda P = r*fn(p)*(1-fn(p)) Real equivalent of Lambda
- Sets.
- bif+sinpi P = p + r*fn(PI*p) Population scenario based
- on...
- bif=sinpi P = r*fn(PI*p) ...Feigenbaum's second
- formula.
- bifstewart P = r*fn(p)*fn(p) - 1 Stewart Map.
- bifmay P = r*p / ((1+p)^b) May Map.
-
- It took a while for bifurcations to appear here, despite them being over
- a century old, and intimately related to chaotic systems. However, they
- are now truly alive and well in Fractint!
-
-
- 2.26 Orbit Fractals
-
- Orbit Fractals are generated by plotting an orbit path in two or three
- dimensional space.
-
- See Lorenz Attractors (p. 47), Rossler Attractors (p. 48), Henon
- Attractors (p. 48), Pickover Attractors (p. 49), Gingerbreadman
- (p. 49), and Martin Attractors (p. 49).
-
- The orbit trajectory for these types can be saved in the file ORBITS.RAW
- by invoking Fractint with the "orbitsave=yes" command-line option. This
- file will be overwritten each time you generate a new fractal, so rename
- it if you want to save it. A nifty program called Acrospin can read
-
- Fractint Version 18.2 Page 47
-
- these files and rapidly rotate them in 3-D - see Acrospin (p. 153).
-
-
- 2.27 Lorenz Attractors
-
- (type=lorenz/lorenz3d)
-
- The "Lorenz Attractor" is a "simple" set of three deterministic
- equations developed by Edward Lorenz while studying the non-
- repeatability of weather patterns. The weather forecaster's basic
- problem is that even very tiny changes in initial patterns ("the beating
- of a butterfly's wings" - the official term is "sensitive dependence on
- initial conditions") eventually reduces the best weather forecast to
- rubble.
-
- The lorenz attractor is the plot of the orbit of a dynamic system
- consisting of three first order non-linear differential equations. The
- solution to the differential equation is vector-valued function of one
- variable. If you think of the variable as time, the solution traces an
- orbit. The orbit is made up of two spirals at an angle to each other in
- three dimensions. We change the orbit color as time goes on to add a
- little dazzle to the image. The equations are:
-
- dx/dt = -a*x + a*y
- dy/dt = b*x - y -z*x
- dz/dt = -c*z + x*y
-
- We solve these differential equations approximately using a method known
- as the first order taylor series. Calculus teachers everywhere will
- kill us for saying this, but you treat the notation for the derivative
- dx/dt as though it really is a fraction, with "dx" the small change in x
- that happens when the time changes "dt". So multiply through the above
- equations by dt, and you will have the change in the orbit for a small
- time step. We add these changes to the old vector to get the new vector
- after one step. This gives us:
-
- xnew = x + (-a*x*dt) + (a*y*dt)
- ynew = y + (b*x*dt) - (y*dt) - (z*x*dt)
- znew = z + (-c*z*dt) + (x*y*dt)
-
- (default values: dt = .02, a = 5, b = 15, c = 1)
-
- We connect the successive points with a line, project the resulting 3D
- orbit onto the screen, and voila! The Lorenz Attractor!
-
- We have added two versions of the Lorenz Attractor. "Type=lorenz" is
- the Lorenz attractor as seen in everyday 2D. "Type=lorenz3d" is the
- same set of equations with the added twist that the results are run
- through our perspective 3D routines, so that you get to view it from
- different angles (you can modify your perspective "on the fly" by using
- the <I> command.) If you set the "stereo" option to "2", and have
- red/blue funny glasses on, you will see the attractor orbit with depth
- perception.
-
- Fractint Version 18.2 Page 48
-
- Hint: the default perspective values (x = 60, y = 30, z = 0) aren't the
- best ones to use for fun Lorenz Attractor viewing. Experiment a bit -
- start with rotation values of 0/0/0 and then change to 20/0/0 and 40/0/0
- to see the attractor from different angles.- and while you're at it, use
- a non-zero perspective point Try 100 and see what happens when you get
- *inside* the Lorenz orbits. Here comes one - Duck! While you are at
- it, turn on the sound with the "X". This way you'll at least hear it
- coming!
-
- Different Lorenz attractors can be created using different parameters.
- Four parameters are used. The first is the time-step (dt). The default
- value is .02. A smaller value makes the plotting go slower; a larger
- value is faster but rougher. A line is drawn to connect successive orbit
- values. The 2nd, third, and fourth parameters are coefficients used in
- the differential equation (a, b, and c). The default values are 5, 15,
- and 1. Try changing these a little at a time to see the result.
-
-
- 2.28 Rossler Attractors
-
- (type=rossler3D)
-
- This fractal is named after the German Otto Rossler, a non-practicing
- medical doctor who approached chaos with a bemusedly philosophical
- attitude. He would see strange attractors as philosophical objects. His
- fractal namesake looks like a band of ribbon with a fold in it. All we
- can say is we used the same calculus-teacher-defeating trick of
- multiplying the equations by "dt" to solve the differential equation and
- generate the orbit. This time we will skip straight to the orbit
- generator - if you followed what we did above with type Lorenz (p. 47)
- you can easily reverse engineer the differential equations.
-
- xnew = x - y*dt - z*dt
- ynew = y + x*dt + a*y*dt
- znew = z + b*dt + x*z*dt - c*z*dt
-
- Default parameters are dt = .04, a = .2, b = .2, c = 5.7
-
-
- 2.29 Henon Attractors
-
- (type=henon)
-
- Michel Henon was an astronomer at Nice observatory in southern France.
- He came to the subject of fractals via investigations of the orbits of
- astronomical objects. The strange attractor most often linked with
- Henon's name comes not from a differential equation, but from the world
- of discrete mathematics - difference equations. The Henon map is an
- example of a very simple dynamic system that exhibits strange behavior.
- The orbit traces out a characteristic banana shape, but on close
- inspection, the shape is made up of thicker and thinner parts. Upon
- magnification, the thicker bands resolve to still other thick and thin
- components. And so it goes forever! The equations that generate this
- strange pattern perform the mathematical equivalent of repeated
- stretching and folding, over and over again.
-
- Fractint Version 18.2 Page 49
-
- xnew = 1 + y - a*x*x
- ynew = b*x
-
- The default parameters are a=1.4 and b=.3.
-
-
- 2.30 Pickover Attractors
-
- (type=pickover)
-
- Clifford A. Pickover of the IBM Thomas J. Watson Research center is such
- a creative source for fractals that we attach his name to this one only
- with great trepidation. Probably tomorrow he'll come up with another
- one and we'll be back to square one trying to figure out a name!
-
- This one is the three dimensional orbit defined by:
-
- xnew = sin(a*y) - z*cos(b*x)
- ynew = z*sin(c*x) - cos(d*y)
- znew = sin(x)
-
- Default parameters are: a = 2.24, b = .43, c = -.65, d = -2.43
-
-
- 2.31 Gingerbreadman
-
- (type=gingerbreadman)
-
- This simple fractal is a charming example stolen from "Science of
- Fractal Images", p. 149.
-
- xnew = 1 - y + |x|
- ynew = x
-
- The initial x and y values are set by parameters, defaults x=-.1, y = 0.
-
-
- 2.32 Martin Attractors
-
- (type=hopalong/martin)
-
- These fractal types are from A. K. Dewdney's "Computer Recreations"
- column in "Scientific American". They are attributed to Barry Martin of
- Aston University in Birmingham, England.
-
- Hopalong is an "orbit" type fractal like lorenz. The image is obtained
- by iterating this formula after setting z(0) = y(0) = 0:
- x(n+1) = y(n) - sign(x(n))*sqrt(abs(b*x(n)-c))
- y(n+1) = a - x(n)
- Parameters are a, b, and c. The function "sign()" returns 1 if the
- argument is positive, -1 if argument is negative.
-
- This fractal continues to develop in surprising ways after many
- iterations.
-
- Fractint Version 18.2 Page 50
-
- Another Martin fractal is simpler. The iterated formula is:
- x(n+1) = y(n) - sin(x(n))
- y(n+1) = a - x(n)
- The parameter is "a". Try values near the number pi.
-
-
- 2.33 Icon
-
- (type=icon/icon3d)
-
- This fractal type was inspired by the book "Symmetry in Chaos" by
- Michael Field and Martin Golubitsky (ISBN 0-19-853689-5, Oxford Press)
-
- To quote from the book's jacket,
-
- "Field and Golubitsky describe how a chaotic process eventually can
- lead to symmetric patterns (in a river, for instance, photographs of
- the turbulent movement of eddies, taken over time, often reveal
- patterns on the average."
-
- The Icon type implemented here maps the classic population logistic
- map of bifurcation fractals onto the complex plane in Dn symmetry.
-
- The initial points plotted are the more chaotic initial orbits, but as
- you wait, delicate webs will begin to form as the orbits settle into a
- more periodic pattern. Since pixels are colored by the number of
- times they are hit, the more periodic paths will become clarified with
- time. These fractals run continuously.
-
- There are 6 parameters: Lambda, Alpha, Beta, Gamma, Omega, and Degree
- Omega 0 = Dn, or dihedral (rotation + reflectional) symmetry
- !0 = Zn, or cyclic (rotational) symmetry
- Degree = n, or Degree of symmetry
-
-
- 2.34 Test
-
- (type=test)
-
- This is a stub that we (and you!) use for trying out new fractal types.
- "Type=test" fractals make use of Fractint's structure and features for
- whatever code is in the routine 'testpt()' (located in the small source
- file TESTPT.C) to determine the color of a particular pixel.
-
- If you have a favorite fractal type that you believe would fit nicely
- into Fractint, just rewrite the C function in TESTPT.C (or use the
- prototype function there, which is a simple M-set implementation) with
- an algorithm that computes a color based on a point in the complex
- plane.
-
- After you get it working, send your code to one of the authors and we
- might just add it to the next release of Fractint, with full credit to
- you. Our criteria are: 1) an interesting image and 2) a formula
- significantly different from types already supported. (Bribery may also
- work. THIS author is completely honest, but I don't trust those other
- guys.) Be sure to include an explanation of your algorithm and the
-
- Fractint Version 18.2 Page 51
-
- parameters supported, preferably formatted as you see here to simplify
- folding it into the documentation.
-
-
- 2.35 Formula
-
- (type=formula)
-
- This is a "roll-your-own" fractal interpreter - you don't even need a
- compiler!
-
- To run a "type=formula" fractal, you first need a text file containing
- formulas (there's a sample file - FRACTINT.FRM - included with this
- distribution). When you select the "formula" fractal type, Fractint
- scans the current formula file (default is FRACTINT.FRM) for formulas,
- then prompts you for the formula name you wish to run. After prompting
- for any parameters, the formula is parsed for syntax errors and then the
- fractal is generated. If you want to use a different formula file, press
- <F6> when you are prompted to select a formula name.
-
- There are two command-line options that work with type=formula
- ("formulafile=" and "formulaname="), useful when you are using this
- fractal type in batch mode.
-
- The following documentation is supplied by Mark Peterson, who wrote the
- formula interpreter:
-
- Formula fractals allow you to create your own fractal formulas. The
- general format is:
-
- Mandelbrot(XAXIS) { z = Pixel: z = sqr(z) + pixel, |z| <= 4 }
- | | | | |
- Name Symmetry Initial Iteration Bailout
- Condition Criteria
-
- Initial conditions are set, then the iterations performed until the
- bailout criteria is true or 'z' turns into a periodic loop. All
- variables are created automatically by their usage and treated as
- complex. If you declare 'v = 2' then the variable 'v' is treated as a
- complex with an imaginary value of zero.
-
- Predefined Variables (x, y)
- --------------------------------------------
- z used for periodicity checking
- p1 parameters 1 and 2
- p2 parameters 3 and 4
- pixel screen coordinates
- LastSqr Modulus from the last sqr() function
- rand Complex random number
-
- Precedence
- --------------------------------------------
- 1 sin(), cos(), sinh(), cosh(), cosxx(),
- tan(), cotan(), tanh(), cotanh(),
- sqr, log(), exp(), abs(), conj(), real(),
- imag(), flip(), fn1(), fn2(), fn3(), fn4(),
-
- Fractint Version 18.2 Page 52
-
- srand()
- 2 - (negation), ^ (power)
- 3 * (multiplication), / (division)
- 4 + (addition), - (subtraction)
- 5 = (assignment)
- 6 < (less than), <= (less than or equal to)
- > (greater than), >= (greater than or equal to)
- == (equal to), != (not equal to)
- 7 && (logical AND), || (logical OR)
-
- Precedence may be overridden by use of parenthesis. Note the modulus
- squared operator |z| is also parenthetic and always sets the imaginary
- component to zero. This means 'c * |z - 4|' first subtracts 4 from z,
- calculates the modulus squared then multiplies times 'c'. Nested
- modulus squared operators require overriding parenthesis:
- c * |z + (|pixel|)|
-
- The functions fn1(...) to fn4(...) are variable functions - when used,
- the user is prompted at run time (on the <Z> screen) to specify one of
- sin, cos, sinh, cosh, exp, log, sqr, etc. for each required variable
- function.
-
- The formulas are performed using either integer or floating point
- mathematics depending on the <F> floating point toggle. If you do not
- have an FPU then type MPC math is performed in lieu of traditional
- floating point.
-
- The 'rand' predefined variable is changed with each iteration to a new
- random number with the real and imaginary components containing a value
- between zero and 1. Use the srand() function to initialize the random
- numbers to a consistent random number sequence. If a formula does not
- contain the srand() function, then the formula compiler will use the
- system time to initialize the sequence. This could cause a different
- fractal to be generated each time the formula is used depending on how
- the formula is written.
-
- Remember that when using integer math there is a limited dynamic range,
- so what you think may be a fractal could really be just a limitation of
- the integer math range. God may work with integers, but His dynamic
- range is many orders of magnitude greater than our puny 32 bit
- mathematics! Always verify with the floating point <F> toggle.
-
-
- 2.36 Julibrots
-
- (type=julibrot)
-
- The Julibrot fractal type uses a general-purpose renderer for
- visualizing three dimensional solid fractals. Originally Mark Peterson
- developed this rendering mechanism to view a 3-D sections of a 4-D
- structure he called a "Julibrot". This structure, also called "layered
- Julia set" in the fractal literature, hinges on the relationship between
- the Mandelbrot and Julia sets. Each Julia set is created using a fixed
- value c in the iterated formula z^2 + c. The Julibrot is created by
- layering Julia sets in the x-y plane and continuously varying c,
- creating new Julia sets as z is incremented. The solid shape thus
-
- Fractint Version 18.2 Page 53
-
- created is rendered by shading the surface using a brightness inversely
- proportional to the virtual viewer's eye.
-
- Starting with Fractint version 18, the Julibrot engine can be used with
- other Julia formulas besides the classic z^2 + c. The first field on the
- Julibrot parameter screen lets you select which orbit formula to use.
-
- You can also use the Julibrot renderer to visualize 3D cross sections of
- true four dimensional Quaternion and Hypercomplex fractals.
-
- The Julibrot Parameter Screens
-
- Orbit Algorithm - select the orbit algorithm to use. The available
- possibilities include 2-D Julia and both mandelbrot and Julia
- variants of the 4-D Quaternion and Hypercomplex fractals.
-
- Orbit parameters - the next screen lets you fill in any parameters
- belonging to the orbit algorithm. This list of parameters is not
- necessarily the same as the list normally presented for the orbit
- algorithm, because some of these parameters are used in the Julibrot
- layering process.
-
- From/To Parameters These parameters allow you to specify the
- "Mandelbrot" values used to generate the layered Julias. The
- parameter c in the Julia formulas will be incremented in steps
- ranging from the "from" x and y values to the "to" x and y values. If
- the orbit formula is one of the "true" four dimensional fractal types
- quat, quatj, hypercomplex, or hypercomplexj, then these numbers are
- used with the 3rd and 4th dimensional values.
-
- The "from/to" variables are different for the different kinds of
- orbit algorithm.
-
- 2D Julia sets - complex number formula z' = f(z) + c
- The "from/to" parameters change the values of c.
- 4D Julia sets - Quaternion or Hypercomplex formula z' = f(z) + c
- The four dimensions of c are set by the orbit parameters.
- The first two dimensions of z are determined by the corners values.
- The third and fourth dimensions of z are the "to/from" variables.
- 4D Mandelbrot sets - Quaternion or Hypercomplex formula z' = f(z)
- + c
- The first two dimensions of c are determined by the corners values.
- The third and fourth dimensions of c are the "to/from" variables.
-
- Distance between the eyes - set this to 2.5 if you want a red/blue
- anaglyph image, 0 for a normal greyscale image.
-
- Number of z pixels - this sets how many layers are rendered in the
- screen z-axis. Use a higher value with higher resolution video modes.
-
- The remainder of the parameters are needed to construct the red/blue
- picture so that the fractal appears with the desired depth and proper
- 'z' location. With the origin set to 8 inches beyond the screen plane
- and the depth of the fractal at 8 inches the default fractal will appear
- to start at 4 inches beyond the screen and extend to 12 inches if your
- eyeballs are 2.5 inches apart and located at a distance of 24 inches
-
- Fractint Version 18.2 Page 54
-
- from the screen. The screen dimensions provide the reference frame.
-
-
-
- 2.37 Diffusion Limited Aggregation
-
- (type=diffusion)
-
- This type begins with a single point in the center of the screen.
- Subsequent points move around randomly until coming into contact with
- the first point, at which time their locations are fixed and they are
- colored randomly. This process repeats until the fractals reaches the
- edge of the screen. Use the show orbits function to see the points'
- random motion.
-
- One unfortunate problem is that on a large screen, this process will
- tend to take eons. To speed things up, the points are restricted to a
- box around the initial point. The first and only parameter to diffusion
- contains the size of the border between the fractal and the edge of the
- box. If you make this number small, the fractal will look more solid
- and will be generated more quickly.
-
- Diffusion was inspired by a Scientific American article a couple of
- years back which includes actual pictures of real physical phenomena
- that behave like this.
-
- Thanks to Adrian Mariano for providing the diffusion code and
- documentation. Juan J. Buhler added the additional options.
-
-
- 2.38 Magnetic Fractals
-
- (type=magnet1m/.../magnet2j)
-
- These fractals use formulae derived from the study of hierarchical
- lattices, in the context of magnetic renormalisation transformations.
- This kinda stuff is useful in an area of theoretical physics that deals
- with magnetic phase-transitions (predicting at which temperatures a
- given substance will be magnetic, or non-magnetic). In an attempt to
- clarify the results obtained for Real temperatures (the kind that you
- and I can feel), the study moved into the realm of Complex Numbers,
- aiming to spot Real phase-transitions by finding the intersections of
- lines representing Complex phase-transitions with the Real Axis. The
- first people to try this were two physicists called Yang and Lee, who
- found the situation a bit more complex than first expected, as the phase
- boundaries for Complex temperatures are (surprise!) fractals.
-
- And that's all the technical (?) background you're getting here! For
- more details (are you SERIOUS ?!) read "The Beauty of Fractals". When
- you understand it all, you might like to rewrite this section, before
- you start your new job as a professor of theoretical physics...
-
- In Fractint terms, the important bits of the above are "Fractals",
- "Complex Numbers", "Formulae", and "The Beauty of Fractals". Lifting
- the Formulae straight out of the Book and iterating them over the
- Complex plane (just like the Mandelbrot set) produces Fractals.
-
- Fractint Version 18.2 Page 55
-
- The formulae are a bit more complicated than the Z^2+C used for the
- Mandelbrot Set, that's all. They are :
-
- [ ] 2
- | Z^2 + (C-1) |
- MAGNET1 : | ------------- |
- | 2*Z + (C-2) |
- [ ]
-
- [ ] 2
- | Z^3 + 3*(C-1)*Z + (C-1)*(C-2) |
- MAGNET2 : | --------------------------------------- |
- | 3*(Z^2) + 3*(C-2)*Z + (C-1)*(C-2) + 1 |
- [ ]
-
- These aren't quite as horrific as they look (oh yeah ?!) as they only
- involve two variables (Z and C), but cubing things, doing division, and
- eventually squaring the result (all in Complex Numbers) don't exactly
- spell S-p-e-e-d ! These are NOT the fastest fractals in Fractint !
-
- As you might expect, for both formulae there is a single related
- Mandelbrot-type set (magnet1m, magnet2m) and an infinite number of
- related Julia-type sets (magnet1j, magnet2j), with the usual toggle
- between the corresponding Ms and Js via the spacebar.
-
- If you fancy delving into the Julia-types by hand, you will be prompted
- for the Real and Imaginary parts of the parameter denoted by C. The
- result is symmetrical about the Real axis (and therefore the initial
- image gets drawn in half the usual time) if you specify a value of Zero
- for the Imaginary part of C.
-
- Fractint Historical Note: Another complication (besides the formulae)
- in implementing these fractal types was that they all have a finite
- attractor (1.0 + 0.0i), as well as the usual one (Infinity). This fact
- spurred the development of Finite Attractor logic in Fractint. Without
- this code you can still generate these fractals, but you usually end up
- with a pretty boring image that is mostly deep blue "lake", courtesy of
- Fractint's standard Periodicity Logic (p. 123). See Finite Attractors
- (p. 139) for more information on this aspect of Fractint internals.
-
- (Thanks to Kevin Allen for Magnetic type documentation above).
-
-
- 2.39 L-Systems
-
- (type=lsystem)
-
- These fractals are constructed from line segments using rules specified
- in drawing commands. Starting with an initial string, the axiom,
- transformation rules are applied a specified number of times, to produce
- the final command string which is used to draw the image.
-
- Like the type=formula fractals, this type requires a separate data file.
- A sample file, FRACTINT.L, is included with this distribution. When you
- select type lsystem, the current lsystem file is read and you are asked
- for the lsystem name you wish to run. Press <F6> at this point if you
-
- Fractint Version 18.2 Page 56
-
- wish to use a different lsystem file. After selecting an lsystem, you
- are asked for one parameter - the "order", or number of times to execute
- all the transformation rules. It is wise to start with small orders,
- because the size of the substituted command string grows exponentially
- and it is very easy to exceed your resolution. (Higher orders take
- longer to generate too.) The command line options "lname=" and "lfile="
- can be used to over-ride the default file name and lsystem name.
-
- Each L-System entry in the file contains a specification of the angle,
- the axiom, and the transformation rules. Each item must appear on its
- own line and each line must be less than 160 characters long.
-
- The statement "angle n" sets the angle to 360/n degrees; n must be an
- integer greater than two and less than fifty.
-
- "Axiom string" defines the axiom.
-
- Transformation rules are specified as "a=string" and convert the single
- character 'a' into "string." If more than one rule is specified for a
- single character all of the strings will be added together. This allows
- specifying transformations longer than the 160 character limit.
- Transformation rules may operate on any characters except space, tab or
- '}'.
-
- Any information after a ; (semi-colon) on a line is treated as a
- comment.
-
- Here is a sample lsystem:
-
- Dragon { ; Name of lsystem, { indicates start
- Angle 8 ; Specify the angle increment to 45 degrees
- Axiom FX ; Starting character string
- F= ; First rule: Delete 'F'
- y=+FX--FY+ ; Change 'y' into "+fx--fy+"
- x=-FX++FY- ; Similar transformation on 'x'
- } ; final } indicates end
-
- The standard drawing commands are:
- F Draw forward
- G Move forward (without drawing)
- + Increase angle
- - Decrease angle
- | Try to turn 180 degrees. (If angle is odd, the turn
- will be the largest possible turn less than 180 degrees.)
-
- These commands increment angle by the user specified angle value. They
- should be used when possible because they are fast. If greater
- flexibility is needed, use the following commands which keep a
- completely separate angle pointer which is specified in degrees.
-
- D Draw forward
- M Move forward
- nn Increase angle nn degrees
- /nn Decrease angle nn degrees
-
- Fractint Version 18.2 Page 57
-
- Color control:
- Cnn Select color nn
- <nn Increment color by nn
- >nn decrement color by nn
-
- Advanced commands:
- ! Reverse directions (Switch meanings of +, - and , /)
- @nnn Multiply line segment size by nnn
- nnn may be a plain number, or may be preceded by
- I for inverse, or Q for square root.
- (e.g. @IQ2 divides size by the square root of 2)
- [ Push. Stores current angle and position on a stack
- ] Pop. Return to location of last push
-
- Other characters are perfectly legal in command strings. They are
- ignored for drawing purposes, but can be used to achieve complex
- translations.
-
-
- 2.40 Lyapunov Fractals
-
- (type=lyapunov)
-
- The Bifurcation fractal illustrates what happens in a simple population
- model as the growth rate increases. The Lyapunov fractal expands that
- model into two dimensions by letting the growth rate vary in a periodic
- fashion between two values. Each pair of growth rates is run through a
- logistic population model and a value called the Lyapunov Exponent is
- calculated for each pair and is plotted. The Lyapunov Exponent is
- calculated by adding up log | r - 2*r*x| over many cycles of the
- population model and dividing by the number of cycles. Negative Lyapunov
- exponents indicate a stable, periodic behavior and are plotted in color.
- Positive Lyapunov exponents indicate chaos (or a diverging model) and
- are colored black.
-
- Order parameter. Each possible periodic sequence yields a two
- dimensional space to explore. The Order parameter selects a sequence.
- The default value 0 represents the sequence ab which alternates between
- the two values of the growth parameter. On the screen, the a values run
- vertically and the b values run horizontally. Here is how to calculate
- the space parameter for any desired sequence. Take your sequence of a's
- and b's and arrange it so that it starts with at least 2 a's and ends
- with a b. It may be necessary to rotate the sequence or swap a's and
- b's. Strike the first a and the last b off the list and replace each
- remaining a with a 1 and each remaining b with a zero. Interpret this
- as a binary number and convert it into decimal.
-
- An Example. I like sonnets. A sonnet is a poem with fourteen lines
- that has the following rhyming sequence: abba abba abab cc. Ignoring
- the rhyming couplet at the end, let's calculate the Order parameter for
- this pattern.
-
- abbaabbaabab doesn't start with at least 2 a's
- aabbaabababb rotate it
- 1001101010 drop the first and last, replace with 0's and 1's
-
-
- Fractint Version 18.2 Page 58
-
- 512+64+32+8+2 = 618
-
- An Order parameter of 618 gives the Lyapunov equivalent of a sonnet.
- "How do I make thee? Let me count the ways..."
-
- Population Seed. When two parts of a Lyapunov overlap, which spike
- overlaps which is strongly dependent on the initial value of the
- population model. Any changes from using a different starting value
- between 0 and 1 may be subtle. The values 0 and 1 are interpreted in a
- special manner. A Seed of 1 will choose a random number between 0 and 1
- at the start of each pixel. A Seed of 0 will suppress resetting the seed
- value between pixels unless the population model diverges in which case
- a random seed will be used on the next pixel.
-
- Filter Cycles. Like the Bifurcation model, the Lyapunov allow you to
- set the number of cycles that will be run to allow the model to approach
- equilibrium before the lyapunov exponent calculation is begun. The
- default value of 0 uses one half of the iterations before beginning the
- calculation of the exponent.
-
- Reference. A.K. Dewdney, Mathematical Recreations, Scientific American,
- Sept. 1991
-
-
- 2.41 fn||fn Fractals
-
- (type=lambda(fn||fn), manlam(fn||fn), julia(fn||fn), mandel(fn||fn))
-
- Two functions=[sin|cos|sinh|cosh|exp|log|sqr|...]) are specified with
- these types. The two functions are alternately used in the calculation
- based on a comparison between the modulus of the current Z and the shift
- value. The first function is used if the modulus of Z is less than the
- shift value and the second function is used otherwise.
-
- The lambda(fn||fn) type calculates the Julia set of the formula
- lambda*fn(Z), for various values of the function "fn", where lambda and
- Z are both complex. Two values, the real and imaginary parts of lambda,
- should be given in the "params=" option. The third value is the shift
- value. The space bar will generate the corresponding "psuedo
- Mandelbrot" set, manlam(fn||fn).
-
- The manlam(fn||fn) type calculates the "psuedo Mandelbrot" set of the
- formula fn(Z)*C, for various values of the function "fn", where C and Z
- are both complex. Two values, the real and imaginary parts of Z(0),
- should be given in the "params=" option. The third value is the shift
- value. The space bar will generate the corresponding julia set,
- lamda(fn||fn).
-
- The julia(fn||fn) type calculates the Julia set of the formula fn(Z)+C,
- for various values of the function "fn", where C and Z are both complex.
- Two values, the real and imaginary parts of C, should be given in the
- "params=" option. The third value is the shift value. The space bar
- will generate the corresponding mandelbrot set, mandel(fn||fn).
-
- Fractint Version 18.2 Page 59
-
- The mandel(fn||fn) type calculates the Mandelbrot set of the formula
- fn(Z)+C, for various values of the function "fn", where C and Z are both
- complex. Two values, the real and imaginary parts of Z(0), should be
- given in the "params=" option. The third value is the shift value. The
- space bar will generate the corresponding julia set, julia(fn||fn).
-
-
- 2.42 Halley
-
- (type=halley)
-
- The Halley map is an algorithm used to find the roots of polynomial
- equations by successive "guesses" that converge on the correct value as
- you feed the results of each approximation back into the formula. It
- works very well -- unless you are unlucky enough to pick a value that is
- on a line BETWEEN two actual roots. In that case, the sequence explodes
- into chaos, with results that diverge more and more wildly as you
- continue the iteration.
-
- This fractal type shows the results for the polynomial Z(Z^a - 1), which
- has a+1 roots in the complex plane. Use the <T>ype command and enter
- "halley" in response to the prompt. You will be asked for a parameter,
- the "order" of the equation (an integer from 2 through 10 -- 2 for Z(Z^2
- - 1), 7 for Z(Z^7 - 1), etc.). A second parameter is the relaxation
- coefficient, and is used to control the convergence stability. A number
- greater than one increases the chaotic behavior and a number less than
- one decreases the chaotic behavior. The third parameter is the value
- used to determine when the formula has converged. The test for
- convergence is ||Z(n+1)|^2 - |Z(n)|^2| < epsilon. This convergence test
- produces the whisker-like projections which generally point to a root.
-
-
- 2.43 Dynamic System
-
- (type=dynamic, dynamic2)
-
- These fractals are based on a cyclic system of differential equations:
- x'(t) = -f(y(t))
- y'(t) = f(x(t))
- These equations are approximated by using a small time step dt, forming
- a time-discrete dynamic system:
- x(n+1) = x(n) - dt*f(y(n))
- y(n+1) = y(n) + dt*f(x(n))
- The initial values x(0) and y(0) are set to various points in the plane,
- the dynamic system is iterated, and the resulting orbit points are
- plotted.
-
- In fractint, the function f is restricted to: f(k) = sin(k + a*fn1(b*k))
- The parameters are the spacing of the initial points, the time step dt,
- and the parameters (a,b,fn1) that affect the function f. Normally the
- orbit points are plotted individually, but for a negative spacing the
- points are connected.
-
- This fractal is similar to the Pickover Popcorn (p. 42).
- A variant is the implicit Euler approximation:
- y(n+1) = y(n) + dt*f(x(n))
-
- Fractint Version 18.2 Page 60
-
- x(n+1) = x(n) - dt*f(y(n+1))
- This variant results in complex orbits. The implicit Euler
- approximation is selected by entering dt<0.
-
- There are two options that have unusual effects on these fractals. The
- Orbit Delay value controls how many initial points are computed before
- the orbits are displayed on the screen. This allows the orbit to settle
- down. The outside=summ option causes each pixel to increment color
- every time an orbit touches it; the resulting display is a 2-d
- histogram.
-
- These fractals are discussed in Chapter 14 of Pickover's "Computers,
- Pattern, Chaos, and Beauty".
-
-
- 2.44 Mandelcloud
-
- (type=mandelcloud)
-
- This fractal computes the Mandelbrot function, but displays it
- differently. It starts with regularly spaced initial pixels and
- displays the resulting orbits. This idea is somewhat similar to the
- Dynamic System (p. 59).
-
- There are two options that have unusual effects on this fractal. The
- Orbit Delay value controls how many initial points are computed before
- the orbits are displayed on the screen. This allows the orbit to settle
- down. The outside=summ option causes each pixel to increment color
- every time an orbit touches it; the resulting display is a 2-d
- histogram.
-
- This fractal was invented by Noel Giffin.
-
-
-
- 2.45 Quaternion
-
- (type=quat,quatjul)
-
- These fractals are based on quaternions. Quaternions are an extension
- of complex numbers, with 4 parts instead of 2. That is, a quaternion Q
- equals a+ib+jc+kd, where a,b,c,d are reals. Quaternions have rules for
- addition and multiplication. The normal Mandelbrot and Julia formulas
- can be generalized to use quaternions instead of complex numbers.
-
- There is one complication. Complex numbers have 2 parts, so they can be
- displayed on a plane. Quaternions have 4 parts, so they require 4
- dimensions to view. That is, the quaternion Mandelbrot set is actually
- a 4-dimensional object. Each quaternion C generates a 4-dimensional
- Julia set.
-
- One method of displaying the 4-dimensional object is to take a 3-
- dimensional slice and render the resulting object in 3-dimensional
- perspective. Fractint isn't that sophisticated, so it merely displays a
- 2-dimensional slice of the resulting object. (Note: Now Fractint is that
- sophisticated! See the Julibrot type!)
-
- Fractint Version 18.2 Page 61
-
- In fractint, for the Julia set, you can specify the four parameters of
- the quaternion constant: c=(c1,ci,cj,ck), but the 2-dimensional slice of
- the z-plane Julia set is fixed to (xpixel,ypixel,0,0).
-
- For the Mandelbrot set, you can specify the position of the c-plane
- slice: (xpixel,ypixel,cj,ck).
-
- These fractals are discussed in Chapter 10 of Pickover's "Computers,
- Pattern, Chaos, and Beauty".
-
-
- 2.46 HyperComplex
-
- (type=hypercomplex,hypercomplexj)
-
- These fractals are based on hypercomplex numbers, which like quaternions
- are a four dimensional generalization of complex numbers. It is not
- possible to fully generalize the complex numbers to four dimensions
- without sacrificing some of the algebraic properties shared by real and
- complex numbers. Quaternions violate the commutative law of
- multiplication, which says z1*z2 = z2*z1. Hypercomplex numbers fail the
- rule that says all non-zero elements have multiplicative inverses - that
- is, if z is not 0, there should be a number 1/z such that (1/z)*(z) = 1.
- This law holds most of the time but not all the time for hypercomplex
- numbers.
-
- However hypercomplex numbers have a wonderful property for fractal
- purposes. Every function defined for complex numbers has a simple
- generalization to hypercomplex numbers. Fractint's implementation takes
- advantage of this by using "fn" variables - the iteration formula is
- h(n+1) = fn(h(n)) + C.
- where "fn" is the hypercomplex generalization of sin, cos, log, sqr etc.
- You can see 3D versions of these fractals using fractal type Julibrot.
- Hypercomplex numbers were brought to our attention by Clyde Davenport,
- author of "A Hypercomplex Calculus with Applications to Relativity",
- ISBN 0-9623837-0-8.
-
-
-
- 2.47 Cellular Automata
-
- (type=cellular)
-
- These fractals are generated by 1-dimensional cellular automata.
- Consider a 1-dimensional line of cells, where each cell can have the
- value 0 or 1. In each time step, the new value of a cell is computed
- from the old value of the cell and the values of its neighbors. On the
- screen, each horizontal row shows the value of the cells at any one
- time. The time axis proceeds down the screen, with each row computed
- from the row above.
-
- Different classes of cellular automata can be described by how many
- different states a cell can have (k), and how many neighbors on each
- side are examined (r). Fractint implements the binary nearest neighbor
- cellular automata (k=2,r=1), the binary next-nearest neighbor cellular
- automata (k=2,r=2), and the ternary nearest neighbor cellular automata
-
- Fractint Version 18.2 Page 62
-
- (k=3,r=1) and several others.
-
- The rules used here determine the next state of a given cell by using
- the sum of the states in the cell's neighborhood. The sum of the cells
- in the neighborhood are mapped by rule to the new value of the cell.
- For the binary nearest neighbor cellular automata, only the closest
- neighbor on each side is used. This results in a 4 digit rule
- controlling the generation of each new line: if each of the cells in
- the neighborhood is 1, the maximum sum is 1+1+1 = 3 and the sum can
- range from 0 to 3, or 4 values. This results in a 4 digit rule. For
- instance, in the rule 1010, starting from the right we have 0->0, 1->1,
- 2->0, 3->1. If the cell's neighborhood sums to 2, the new cell value
- would be 0.
-
- For the next-nearest cellular automata (kr = 22), each pixel is
- determined from the pixel value and the two neighbors on each side.
- This results in a 6 digit rule.
-
- For the ternary nearest neighbor cellular automata (kr = 31), each cell
- can have the value 0, 1, or 2. A single neighbor on each side is
- examined, resulting in a 7 digit rule.
-
- kr #'s in rule example rule | kr #'s in rule example rule
- 21 4 1010 | 42 16 2300331230331001
- 31 7 1211001 | 23 8 10011001
- 41 10 3311100320 | 33 15 021110101210010
- 51 13 2114220444030 | 24 10 0101001110
- 61 16 3452355321541340 | 25 12 110101011001
- 22 6 011010 | 26 14 00001100000110
- 32 11 21212002010 | 27 16 0010000000000110
-
- The starting row of cells can be set to a pattern of up to 16 digits or
- to a random pattern. The borders are set to zeros if a pattern is
- entered or are set randomly if the starting row is set randomly.
-
- A zero rule will randomly generate the rule to use.
-
- Hitting the space bar toggles between continuously generating the
- cellular automata and stopping at the end of the current screen.
-
- Recommended reading: "Computer Software in Science and Mathematics",
- Stephen Wolfram, Scientific American, September, 1984. "Abstract
- Mathematical Art", Kenneth E. Perry, BYTE, December, 1986. "The
- Armchair Universe", A. K. Dewdney, W. H. Freeman and Company, 1988.
- "Complex Patterns Generated by Next Nearest Neighbors Cellular
- Automata", Wentian Li, Computers & Graphics, Volume 13, Number 4.
-
-
- 2.48 Phoenix
-
- (type=phoenix, mandphoenix)
-
- The phoenix type defaults to the original phoenix curve discovered by
- Shigehiro Ushiki, "Phoenix", IEEE Transactions on Circuits and Systems,
- Vol. 35, No. 7, July 1988, pp. 788-789. These images do not have the X
- and Y axis swapped as is normal for this type.
-
- Fractint Version 18.2 Page 63
-
- The mandphoenix type is the corresponding Mandelbrot set image of the
- phoenix type. The spacebar toggles between the two as long as the
- mandphoenix type has an initial Z(0) of (0,0). The mandphoenix is not
- an effective index to the phoenix type, so explore the wild blue yonder.
-
- To reproduce the Mandelbrot set image of the phoenix type as shown in
- Stevens' book, "Fractal Programming in C", set initorbit=0/0 on the
- command line or with the <g> key. The colors need to be rotated one
- position because Stevens uses the values from the previous calculation
- instead of the current calculation to determine when to bailout.
-
-
- 2.49 Frothy Basins
-
- (type=frothybasin)
-
- Frothy Basins, or Riddled Basins, were discovered by James C. Alexander
- of the University of Maryland. The discussion below is derived from a
- two page article entitled "Basins of Froth" in Science News, November
- 14, 1992 and from correspondence with others, including Dr. Alexander.
-
- The equations that generate this fractal are not very different from
- those that generate many other orbit fractals.
-
- z(0) = pixel;
- z(n+1) = z(n)^2 - c*conj(z(n))
- where c = 1 + ai, and a = 1.02871376822...
-
- One of the things that makes this fractal so interesting is the shape of
- the dynamical system's attractors. It is not at all uncommon for a
- dynamical system to have non-point attractors. Shapes such as circles
- are very common. Strange attractors are attractors which are themselves
- fractal. What is unusual about this system, however, is that the
- attractors intersect. This is the first case in which such a phenomenon
- has been observed. The three attractors for this system are made up of
- line segments which overlap to form an equilateral triangle. This
- attractor triangle can be seen by pressing the 'o' key while the fractal
- is being generated to turn on the "show orbits" option.
-
- An interesting variation on this fractal can be generated by applying
- the above mapping twice per each iteration. The result is that each of
- the three attractors is split into two parts, giving the system six
- attractors.
-
- These are also called "Riddled Basins" because each basin is riddled
- with holes. Which attractor a point is eventually pulled into is
- extremely sensitive to its initial position. A very slight change in
- any direction may cause it to end up on a different attractor. As a
- result, the basins are thoroughly intermingled. The effect appears to be
- a frothy mixture that has been subjected to lots of stirring and
- folding.
-
- Pixel color is determined by which attractor captures the orbit. The
- shade of color is determined by the number of iterations required to
- capture the orbit. In Fractint, the actual shade of color used depends
- on how many colors are available in the video mode being used.
-
- Fractint Version 18.2 Page 64
-
- If 256 colors are available, the default coloring scheme is determined
- by the number of iterations that were required to capture the orbit. An
- alternative coloring scheme can be used where the shade is determined by
- the iterations required divided by the maximum iterations. This method
- is especially useful on deeply zoomed images.
-
- If only 16 colors are available, then only the alternative coloring
- scheme is used. If fewer than 16 colors are available, then Fractint
- just colors the basins without any shading.
-
- Fractint Version 18.2 Page 65
-
- 3. Doodads, Bells, and Whistles
-
-
- 3.1 Drawing Method
-
- The "passes option" (<X> options screen or "passes=" parameter) selects
- single-pass, dual-pass, or solid-guessing (default) mode. This option
- applies to most fractal types.
-
- Single-pass mode ("1") draws the screen pixel by pixel.
-
- Dual-pass ("2") generates a "coarse" screen first as a preview using
- 2x2-pixel boxes, and then generates the rest of the dots with a second
- pass.
-
- Solid-guessing ("g") is the default. It performs from two to four
- visible passes - more in higher resolution video modes. Its first
- visible pass is actually two passes - one pixel per 4x4, 8x8, or 16x16
- pixel box is generated, and the guessing logic is applied to fill in the
- blocks at the next level (2x2, 4x4, or 8x8). Subsequent passes fill in
- the display at the next finer resolution, skipping blocks which are
- surrounded by the same color. Solid-guessing can guess wrong, but it
- sure guesses quickly!
-
- Boundary Tracing ("b"), which only works with fractal types (such as the
- Mandelbrot set, but not the Newton type) that do not contain "islands"
- of colors, finds a color "boundary", traces it around the screen, and
- then "blits" in the color over the enclosed area.
-
- Tesseral ("t") is a sort of "super-solid-guessing" option that
- successively divides the image into subsections. It's actually slower
- than the solid-guessing algorithm, but it looks neat, so we left it in.
-
- The "fillcolor=" option in the <X> screen or on the command line sets a
- fixed color to be used by the Boundary Tracing and Tesseral calculations
- for filling in defined regions. The effect of this is to show off the
- boundaries of the areas delimited by these two methods.
-
-
- 3.2 Palette Maps
-
- If you have a VGA, MCGA, Super-VGA, 8514/A, XGA, TARGA, or TARGA+ video
- adapter, you can save and restore color palettes for use with any image.
- To load a palette onto an existing image, use the <L> command in color-
- cycling or palette-editing mode. To save a palette, use the <S> command
- in those modes. To change the default palette for an entire run, use
- the command line "map=" parameter.
-
- The default filetype for color-map files is ".MAP".
-
- These color-maps are ASCII text files set up as a series of RGB triplet
- values (one triplet per line, encoded as the red, green, and blue [RGB]
- components of the color).
-
- Fractint Version 18.2 Page 66
-
- Note that .MAP file color values are in GIF format - values go from 0
- (low) to 255 (high), so for a VGA adapter they get divided by 4 before
- being stuffed into the VGA's Video-DAC registers (so '6' and '7' end up
- referring to the same color value).
-
- Fractint is distributed with some sample .MAP files:
- ALTERN.MAP the famous "Peterson-Vigneau Pseudo-Grey Scale"
- BLUES.MAP for rainy days, by Daniel Egnor
- CHROMA.MAP general purpose, chromatic
- DEFAULT.MAP the VGA start-up values
- FIRESTRM.MAP general purpose, muted fire colors
- GAMMA1.MAP and GAMMA2.MAP Lee Crocker's response to ALTERN.MAP
- GLASSES1.MAP used with 3d glasses modes
- GLASSES2.MAP used with 3d glasses modes
- GOODEGA.MAP for EGA users
- GREEN.MAP shaded green
- GREY.MAP another grey variant
- GRID.MAP for stereo surface grid images
- HEADACHE.MAP major stripes, by D. Egnor (try cycling and hitting <2>)
- LANDSCAP.MAP Guruka Singh Khalsa's favorite map for plasma "landscapes"
- NEON.MAP a flashy map, by Daniel Egnor
- PAINTJET.MAP high resolution mode PaintJet colors
- ROYAL.MAP the royal purple, by Daniel Egnor
- TOPO.MAP Monte Davis's contribution to full color terrain
- VOLCANO.MAP an explosion of lava, by Daniel Egnor
-
-
- 3.3 Autokey Mode
-
- The autokey feature allows you to set up beautiful self-running demo
- "loops". You can set up hypnotic sequences to attract people to a booth,
- to generate sequences for special effects, to teach how Fractal
- exploring is done, etc.
-
- A sample autokey file (DEMO.KEY) and a batch to run it (DEMO.BAT) are
- included with Fractint. Type "demo" at the DOS prompt to run it.
-
- Autokey record mode is enabled with the command line parameter
- "AUTOKEY=RECORD". Keystrokes are saved in an intelligible text format in
- a file called AUTO.KEY. You can change the file name with the
- "AUTOKEYNAME=" parameter.
-
- Playback is enabled with the parameter "AUTOKEY=PLAY". Playback can be
- terminated by pressing the <Esc> key.
-
- After using record mode to capture an autokey file, you'll probably want
- to touch it up using your editor before playing it back.
-
- Separate lines are not necessary but you'll probably find it easier to
- understand an autokey file if you put each command on a separate line.
- Autokey files can contain the following:
-
- Quoted strings. Fractint reads whatever is between the quotes just as
- if you had typed it. For example,
- "t" "ifs" issues the "t" (type) command and then enters the
- letters i", "f", and "s" to select the ifs type.
-
- Fractint Version 18.2 Page 67
-
- Symbols for function keys used to select a video mode. Examples:
- F3 -- Function key 3
- SF3 --<Shift> and <F3> together
-
- Special keys: ENTER ESC F1 PAGEUP PAGEDOWN HOME END LEFT RIGHT UP DOWN
- INSERT DELETE TAB
-
- WAIT <nnn.n> -- wait nnn.n seconds before continuing
-
- CALCWAIT -- pause until the current fractal calculation or file save
- or restore is finished. This command makes demo files more robust
- since calculation times depend on the speed of the machine running
- the demo - a "WAIT 10" command may allow enough time to complete a
- fractal on one machine, but not on another. The record mode does not
- generate this command - it should be added by hand to the autokey file
- whenever there is a process that should be allowed to run to
- completion.
-
- GOTO target -- The autokey file continues to be read from the label
- "target". The label can be any word that does not duplicate a key
- word. It must be present somewhere in the autokey file with a colon
- after it. Example:
- MESSAGE 2 This is executed once
- start:
- MESSAGE 2 This is executed repeatedly
- GOTO start
- GOTO is mainly useful for writing continuous loop demonstrations. It
- can also be useful when debugging an autokey file, to skip sections of
- it.
-
- ; -- A semi-colon indicates that the rest of the line containing it is
- a comment.
-
- MESSAGE nn <Your message here> -- Places a message on the top of the
- screen for nn seconds
-
- Making Fractint demos can be tricky. Here are some suggestions which may
- help:
-
- Start Fractint with "fractint autokeyname=mydemo.key autokey=record".
- Use a unique name each time you run so that you don't overwrite prior
- files.
-
- When in record mode, avoid using the cursor keys to select filenames,
- fractal types, formula names, etc. Instead, try to type in names. This
- will ensure that the exact item you want gets chosen during playback
- even if the list is different then.
-
- Beware of video mode assumptions. It is safest to build a separate
- demo for different resolution monitors.
-
- When in the record mode, try to type names quickly, then pause. If you
- pause partway through a name Fractint will break up the string in the
- .KEY file. E.g. if you paused in the middle of typing fract001, you
- might get:
- "fract"
-
- Fractint Version 18.2 Page 68
-
- WAIT 2.2
- "001"
- No harm done, but messy to clean up. Fractint ignores pauses less than
- about 1/2 second.
-
- DO pause when you want the viewer to see what is happening during
- playback.
-
- When done recording, clean up your mydemo.key file. Insert a CALCWAIT
- after each keystroke which triggers something that takes a variable
- amount of time (calculating a fractal, restoring a file, saving a
- file).
-
- Add comments with ";" to the file so you know what is going on in
- future.
-
- It is a good idea to use INSERT before a GOTO which restarts the demo.
- The <insert> key resets Fractint as if you exited the program and
- restarted it.
-
- Warning: an autokey file built for this version of Fractint will
- probably require some retouching before it works with future releases of
- Fractint. We have no intention of making sure that the same sequence of
- keystrokes will have exactly the same effect from one version of
- Fractint to the next. That would require pretty much freezing Fractint
- development, and we just love to keep enhancing it!
-
-
- 3.4 Distance Estimator Method
-
- This is Phil Wilson's implementation of an alternate method for the M
- and J sets, based on work by mathematician John Milnor and described in
- "The Science of Fractal Images", p. 198. While it can take full
- advantage of your color palette, one of the best uses is in preparing
- monochrome images for a printer. Using the 1600x1200x2 disk-video mode
- and an HP LaserJet, we have produced pictures of quality equivalent to
- the black and white illustrations of the M-set in "The Beauty of
- Fractals."
-
- The distance estimator method widens very thin "strands" which are part
- of the "inside" of the set. Instead of hiding invisibly between pixels,
- these strands are made one pixel wide.
-
- Though this option is available with any escape time fractal type, the
- formula used is specific to the mandel and julia types - for most other
- types it doesn't do a great job.
-
- To turn on the distance estimator method with any escape time fractal
- type, set the "Distance Estimator" value on the <Y> options screen (or
- use the "distest=" command line parameter).
-
- Setting the distance estimator option to a negative value -nnn enables
- edge-tracing mode. The edge of the set is display as color number nnn.
- This option works best when the "inside" and "outside" color values are
- also set to some other value(s).
-
- Fractint Version 18.2 Page 69
-
- In a 2 color (monochrome) mode, setting to any positive value results in
- the inside of the set being expanded to include edge points, and the
- outside points being displayed in the other color.
-
- In color modes, setting to value 1 causes the edge points to be
- displayed using the inside color and the outside points to be displayed
- in their usual colors. Setting to a value greater than one causes the
- outside points to be displayed as contours, colored according to their
- distance from the inside of the set. Use a higher value for narrower
- color bands, a lower value for wider ones. 1000 is a good value to
- start with.
-
- The second distance estimator parameter ("width factor") sets the
- distance from the inside of the set which is to be considered as part of
- the inside. This value is expressed as a percentage of a pixel width,
- the default is 71.
-
- You should use 1 or 2 pass mode with the distance estimator method, to
- avoid missing some of the thin strands made visible by it. For the
- highest quality, "maxiter" should also be set to a high value, say 1000
- or so. You'll probably also want "inside" set to zero, to get a black
- interior.
-
- Enabling the distance estimator method automatically toggles to floating
- point mode. When you reset distest back to zero, remember to also turn
- off floating point mode if you want it off.
-
- Unfortunately, images using the distance estimator method can take many
- hours to calculate even on a fast machine with a coprocessor, especially
- if a high "maxiter" value is used. One way of dealing with this is to
- leave it turned off while you find and frame an image. Then hit <B> to
- save the current image information in a parameter file (see Parameter
- Save/Restore Commands (p. 22)). Use an editor to change the parameter
- file entry, adding "distest=1", "video=something" to select a high-
- resolution monochrome disk-video mode, "maxiter=1000", and "inside=0".
- Run the parameter file entry with the <@> command when you won't be
- needing your machine for a while (over the weekend?)
-
-
- 3.5 Inversion
-
- Many years ago there was a brief craze for "anamorphic art": images
- painted and viewed with the use of a cylindrical mirror, so that they
- looked weirdly distorted on the canvas but correct in the distorted
- reflection. (This byway of art history may be a useful defense when your
- friends and family give you odd looks for staring at fractal images
- color-cycling on a CRT.)
-
- The Inversion option performs a related transformation on most of the
- fractal types. You define the center point and radius of a circle;
- Fractint maps each point inside the circle to a corresponding point
- outside, and vice-versa. This is known to mathematicians as inverting
- (or if you want to get precise, "everting") the plane, and is something
- they can contemplate without getting a headache. John Milnor (also
- mentioned in connection with the Distance Estimator Method (p. 68)),
- made his name in the 1950s with a method for everting a seven-
-
- Fractint Version 18.2 Page 70
-
- dimensional sphere, so we have a lot of catching up to do.
-
- For example, if a point inside the circle is 1/3 of the way from the
- center to the radius, it is mapped to a point along the same radial
- line, but at a distance of (3 * radius) from the origin. An outside
- point at 4 times the radius is mapped inside at 1/4 the radius.
-
- The inversion parameters on the <Y> options screen allow entry of the
- radius and center coordinates of the inversion circle. A default choice
- of -1 sets the radius at 1/6 the smaller dimension of the image
- currently on the screen. The default values for Xcenter and Ycenter use
- the coordinates currently mapped to the center of the screen.
-
- Try this one out with a Newton (p. 34) plot, so its radial "spokes"
- will give you something to hang on to. Plot a Newton-method image, then
- set the inversion radius to 1, with default center coordinates. The
- center "explodes" to the periphery.
-
- Inverting through a circle not centered on the origin produces bizarre
- effects that we're not even going to try to describe. Aren't computers
- wonderful?
-
-
- 3.6 Decomposition
-
- You'll remember that most fractal types are calculated by iterating a
- simple function of a complex number, producing another complex number,
- until either the number exceeds some pre-defined "bailout" value, or the
- iteration limit is reached. The pixel corresponding to the starting
- point is then colored based on the result of that calculation.
-
- The decomposition option ("decomp=", on the <X> screen) toggles to
- another coloring protocol. Here the points are colored according to
- which quadrant of the complex plane (negative real/positive imaginary,
- positive real/positive imaginary, etc.) the final value is in. If you
- use 4 as the parameter, points ending up in each quadrant are given
- their own color; if 2 (binary decomposition), points in alternating
- quadrants are given 2 alternating colors.
-
- The result is a kind of warped checkerboard coloring, even in areas that
- would ordinarily be part of a single contour. Remember, for the M-set
- all points whose final values exceed 2 (by any amount) after, say, 80
- iterations are normally the same color; under decomposition, Fractint
- runs [bailout-value] iterations and then colors according to where the
- actual final value falls on the complex plane.
-
- When using decomposition, a higher bailout value will give a more
- accurate plot, at some expense in speed. You might want to set the
- bailout value (in the parameters prompt following selection of a new
- fractal type; present for most but not all types) to a higher value than
- the default. A value of about 50 is a good compromise for M/J sets.
-
- Fractint Version 18.2 Page 71
-
- 3.7 Logarithmic Palettes and Color Ranges
-
- By default, Fractint maps iterations to colors 1:1. I.e. if the
- calculation for a fractal "escapes" (exceeds the bailout value) after N
- iterations, the pixel is colored as color number N. If N is greater than
- the number of colors available, it wraps around. So, if you are using a
- 16-color video mode, and you are using the default maximum iteration
- count of 150, your image will run through the 16-color palette 150/16 =
- 9.375 times.
-
- When you use Logarithmic palettes, the entire range of iteration values
- is compressed to map to one span of the color range. This results in
- spectacularly different images if you are using a high iteration limit
- near the current iteration maximum of 32000 and are zooming in on an
- area near a "lakelet".
-
- When using a compressed palette in a 256 color mode, we suggest changing
- your colors from the usual defaults. The last few colors in the default
- IBM VGA color map are black. This results in points nearest the "lake"
- smearing into a single dark band, with little contrast from the blue (by
- default) lake.
-
- Fractint has a number of types of compressed palette, selected by the
- "Log Palette" line on the <X> screen, or by the "logmap=" command line
- parameter:
-
- logmap=1: for standard logarithmic palette.
-
- logmap=-1: "old" logarithmic palette. This variant was the only one
- used before Fractint 14.0. It differs from logmap=1 in that some
- colors are not used - logmap=1 "spreads" low color numbers which are
- unused by logmap=-1's pure logarithmic mapping so that all colors are
- assigned.
-
- logmap=N (>1): Same as logmap=1, but starting from iteration count N.
- Pixels with iteration counts less than N are mapped to color 1. This
- is useful when zooming in an area near the lake where no points in the
- image have low iteration counts - it makes use of the low colors which
- would otherwise be unused.
-
- logmap=-N (<-1): Similar to logmap=N, but uses a square root
- distribution of the colors instead of a logarithmic one.
-
- logmap=2 or -2: Auto calculates the logmap value for maximum effect.
-
- Another way to change the 1:1 mapping of iteration counts to colors is
- to use the "RANGES=" parameter. It has the format:
- RANGES=aa/bb/cc/dd/...
-
- Iteration counts up to and including the first value are mapped to color
- number 0, up to and including the second value to color number 1, and so
- on. The values must be in ascending order.
-
- A negative value can be specified for "striping". The negative value
- specifies a stripe width, the value following it specifies the limit of
- the striped range. Two alternating colors are used within the striped
-
- Fractint Version 18.2 Page 72
-
- range.
-
- Example:
- RANGES=0/10/30/-5/65/79/32000
- This example maps iteration counts to colors as follows:
-
- color iterations
- -------------------
- 0 unused (formula always iterates at least once)
- 1 1 to 10
- 2 11 to 30
- 3 31 to 35, 41 to 45, 51 to 55, and 61 to 65
- 4 36 to 40, 46 to 50, and 56 to 60
- 5 66 to 79
- 6 80 and greater
- Note that the maximum value in a RANGES parameter is 32767.
-
-
- 3.8 Biomorphs
-
- Related to Decomposition (p. 70) are the "biomorphs" invented by
- Clifford Pickover, and discussed by A. K. Dewdney in the July 1989
- "Scientific American", page 110. These are so-named because this
- coloring scheme makes many fractals look like one-celled animals. The
- idea is simple. The escape-time algorithm terminates an iterating
- formula when the size of the orbit value exceeds a predetermined bailout
- value. Normally the pixel corresponding to that orbit is colored
- according to the iteration when bailout happened. To create biomorphs,
- this is modified so that if EITHER the real OR the imaginary component
- is LESS than the bailout, then the pixel is set to the "biomorph" color.
- The effect is a bit better with higher bailout values: the bailout is
- automatically set to 100 when this option is in effect. You can try
- other values with the "bailout=" option.
-
- The biomorph option is turned on via the "biomorph=nnn" command-line
- option (where "nnn" is the color to use on the affected pixels). When
- toggling to Julia sets, the default corners are three times bigger than
- normal to allow seeing the biomorph appendages. Does not work with all
- types - in particular it fails with any of the mandelsine family.
- However, if you are stuck with monochrome graphics, try it - works great
- in two-color modes. Try it with the marksmandel and marksjulia types.
-
-
- 3.9 Continuous Potential
-
- Note: This option can only be used with 256 color modes.
-
- Fractint's images are usually calculated by the "level set" method,
- producing bands of color corresponding to regions where the calculation
- gives the same value. When "3D" transformed (see "3D" Images (p. 76)),
- most images other than plasma clouds are like terraced landscapes: most
- of the surface is either horizontal or vertical.
-
- To get the best results with the "illuminated" 3D fill options 5 and 6,
- there is an alternative approach that yields continuous changes in
- colors.
-
- Fractint Version 18.2 Page 73
-
- Continuous potential is approximated by calculating
-
- potential = log(modulus)/2^iterations
-
- where "modulus" is the orbit value (magnitude of the complex number)
- when the modulus bailout was exceeded, at the "iterations" iteration.
- Clear as mud, right?
-
- Fortunately, you don't have to understand all the details. However,
- there ARE a few points to understand. First, Fractint's criterion for
- halting a fractal calculation, the "modulus bailout value", is generally
- set to 4. Continuous potential is inaccurate at such a low value.
-
- The bad news is that the integer math which makes the "mandel" and
- "julia" types so fast imposes a hard-wired maximum value of 127. You can
- still make interesting images from those types, though, so don't avoid
- them. You will see "ridges" in the "hillsides." Some folks like the
- effect.
-
- The good news is that the other fractal types, particularly the
- (generally slower) floating point algorithms, have no such limitation.
- The even better news is that there is a floating-point algorithm for the
- "mandel" and "julia" types. To force the use of a floating-point
- algorithm, use Fractint with the "FLOAT=YES" command-line toggle. Only
- a few fractal types like plasma clouds, the Barnsley IFS type, and
- "test" are unaffected by this toggle.
-
- The parameters for continuous potential are:
- potential=maxcolor[/slope[/modulus[/16bit]]]
- These parameters are present on the <Y> options screen.
-
- "Maxcolor" is the color corresponding to zero potential, which plots as
- the TOP of the mountain. Generally this should be set to one less than
- the number of colors, i.e. usually 255. Remember that the last few
- colors of the default IBM VGA palette are BLACK, so you won't see what
- you are really getting unless you change to a different palette.
-
- "Slope" affects how rapidly the colors change -- the slope of the
- "mountains" created in 3D. If this is too low, the palette will not
- cover all the potential values and large areas will be black. If it is
- too high, the range of colors in the picture will be much less than
- those available. There is no easy way to predict in advance what this
- value should be.
-
- "Modulus" is the bailout value used to determine when an orbit has
- "escaped". Larger values give more accurate and smoother potential. A
- value of 500 gives excellent results. As noted, this value must be <128
- for the integer fractal types (if you select a higher number, they will
- use 127).
-
- "16bit": If you transform a continuous potential image to 3D, the
- illumination modes 5 and 6 will work fine, but the colors will look a
- bit granular. This is because even with 256 colors, the continuous
- potential is being truncated to integers. The "16bit" option can be used
- to add an extra 8 bits of goodness to each stored pixel, for a much
- smoother result when transforming to 3D.
-
- Fractint Version 18.2 Page 74
-
- Fractint's visible behavior is unchanged when 16bit is enabled, except
- that solid guessing and boundary tracing are not used. But when you save
- an image generated with 16bit continuous potential:
- o The saved file is a fair bit larger.
- o Fractint names the file with a .POT extension instead of .GIF, if you
- didn't specify an extension in "savename".
- o The image can be used as input to a subsequent <3> command to get the
- promised smoother effect.
- o If you happen to view the saved image with a GIF viewer other than
- Fractint, you'll find that it is twice as wide as it is supposed to
- be. (Guess where the extra goodness was stored!) Though these files
- are structurally legal GIF files the double-width business made us
- think they should perhaps not be called GIF - hence the .POT filename
- extension.
-
- A 16bit (.POT) file can be converted to an ordinary 8 bit GIF by
- <R>estoring it, changing "16bit" to "no" on the <Y> options screen, and
- <S>aving.
-
- You might find with 16bit continuous potential that there's a long delay
- at the start of an image, and disk activity during calculation. Fractint
- uses its disk-video cache area to store the extra 8 bits per pixel - if
- there isn't sufficient memory available, the cache will page to disk.
-
- The following commands can be used to recreate the image that Mark
- Peterson first prototyped for us, and named "MtMand":
-
- TYPE=mandel
- CORNERS=-0.19920/-0.11/1.0/1.06707
- INSIDE=255
- MAXITER=255
- POTENTIAL=255/2000/1000/16bit
- PASSES=1
- FLOAT=yes
-
- Note that prior to version 15.0, Fractint:
- o Produced "16 bit TGA potfiles" This format is no longer generated,
- but you can still (for a release or two) use <R> and <3> with those
- files.
- o Assumed "inside=maxit" for continuous potential. It now uses the
- current "inside=" value - to recreate prior results you must be
- explicit about this parameter.
-
-
- 3.10 Starfields
-
- Once you have generated your favorite fractal image, you can convert it
- into a fractal starfield with the 'a' transformation (for 'astronomy'? -
- once again, all of the good letters were gone already). Stars are
- generated on a pixel-by-pixel basis - the odds that a particular pixel
- will coalesce into a star are based (partially) on the color index of
- that pixel.
-
- (The following was supplied by Mark Peterson, the starfield author).
-
- Fractint Version 18.2 Page 75
-
- If the screen were entirely black and the 'Star Density per Pixel' were
- set to 30 then a starfield transformation would create an evenly
- distributed starfield with an average of one star for every 30 pixels.
-
- If you're on a 320x200 screen then you have 64000 pixels and would end
- up with about 2100 stars. By introducing the variable of 'Clumpiness'
- we can create more stars in areas that have higher color values. At
- 100% Clumpiness a color value of 255 will change the average of finding
- a star at that location to 50:50. A lower clumpiness values will lower
- the amount of probability weighting. To create a spiral galaxy draw
- your favorite spiral fractal (IFS, Julia, or Mandelbrot) and perform a
- starfield transformation. For general starfields I'd recommend
- transforming a plasma fractal.
-
- Real starfields have many more dim stars than bright ones because very
- few stars are close enough to appear bright. To achieve this effect the
- program will create a bell curve based on the value of ratio of Dim
- stars to bright stars. After calculating the bell curve the curve is
- folded in half and the peak used to represent the number of dim stars.
-
- Starfields can only be shown in 256 colors. Fractint will automatically
- try to load ALTERN.MAP and abort if the map file cannot be found.
-
- Fractint Version 18.2 Page 76
-
- 4. "3D" Images
-
- Fractint can restore images in "3D". Important: we use quotation marks
- because it does not CREATE images of 3D fractal objects (there are such,
- but we're not there yet.) Instead, it restores .GIF images as a 3D
- PROJECTION or STEREO IMAGE PAIR. The iteration values you've come to
- know and love, the ones that determine pixel colors, are translated into
- "height" so that your saved screen becomes a landscape viewed in
- perspective. You can even wrap the landscape onto a sphere for
- realistic-looking planets and moons that never existed outside your PC!
-
- We suggest starting with a saved plasma-cloud screen. Hit <3> in main
- command mode to begin the process. Next, select the file to be
- transformed, and the video mode. (Usually you want the same video mode
- the file was generated in; other choices may or may not work.)
-
- After hitting <3>, you'll be bombarded with a long series of options.
- Not to worry: all of them have defaults chosen to yield an acceptable
- starting image, so the first time out just pump your way through with
- the <Enter> key. When you enter a different value for any option, that
- becomes the default value the next time you hit <3>, so you can change
- one option at a time until you get what you want. Generally <ESC> will
- take you back to the previous screen.
-
- Once you're familiar with the effects of the 3D option values you have a
- variety of options on how to specify them. You can specify them all on
- the command line (there ARE a lot of them so they may not all fit within
- the DOS command line limits), with an SSTOOLS.INI file, or with a
- parameter file.
-
- Here's an example for you power FRACTINTers, the command
-
- FRACTINT MYFILE SAVENAME=MY3D 3D=YES BATCH=YES
-
- would make Fractint load MYFILE.GIF, re-plot it as a 3D landscape
- (taking all of the defaults), save the result as MY3D.GIF, and exit to
- DOS. By the time you've come back with that cup of coffee, you'll have a
- new world to view, if not conquer.
-
- Note that the image created by 3D transformation is treated as if it
- were a plasma cloud - We have NO idea how to retain the ability to zoom
- and pan around a 3D image that has been twisted, stretched, perspective-
- ized, and water-leveled. Actually, we do, but it involves the kind of
- hardware that Industrial Light & Magic, Pixar et al. use for feature
- films. So if you'd like to send us a check equivalent to George Lucas'
- net from the "Star Wars" series...
-
-
- 4.1 3D Mode Selection
-
- After hitting <3> and getting past the filename prompt and video mode
- selection, you're presented with a "3d Mode Selection" screen. If you
- wish to change the default for any of the following parameters, use the
- cursor keys to move through the menu. When you're satisfied press
- <Enter>.
-
- Fractint Version 18.2 Page 77
-
- Preview Mode: Preview mode provides a rapid look at your transformed
- image using by skipping a lot of rows and filling the image in. Good
- for quickly discovering the best parameters. Let's face it, the
- Fractint authors most famous for "blazingly fast" code *DIDN'T* write
- the 3D routines! [Pieter: "But they *are* picking away it and making
- some progress in each release."]
-
- Show Box: If you have selected Preview Mode you have another option to
- worry about. This is the option to show the image box in scaled and
- rotated coordinates x, y, and z. The box only appears in rectangular
- transformations and shows how the final image will be oriented. If
- you select light source in the next screen, it will also show you the
- light source vector so you can tell where the light is coming from in
- relation to your image. Sorry no head or tail on the vector yet.
-
- Coarseness: This sets how many divisions the image will be divided into
- in the y direction, if you select preview mode, ray tracing output,
- or grid fill in the "Select Fill Type" screen.
-
- Spherical Projection: The next question asks if you want a sphere
- projection. This will take your image and map it onto a plane if you
- answer "no" or a sphere if you answer "yes" as described above. Try
- it and you'll see what we mean. See Spherical Projection (p. 84).
-
- Stereo:
-
- Stereo sound in Fractint? Well, not yet. Fractint now allows you to
- create 3D images for use with red/blue glasses like 3D comics you may
- have seen, or images like Captain EO.
-
- Option 0 is normal old 3D you can look at with just your eyes.
-
- Options 1 and 2 require the special red/blue-green glasses. They are
- meant to be viewed right on the screen or on a color print off of the
- screen. The image can be made to hover entirely or partially in front
- of the screen. Great fun! These two options give a gray scale image
- when viewed.
-
- Option 1 gives 64 shades of gray but with half the spatial resolution
- you have selected. It works by writing the red and blue images on
- adjacent pixels, which is why it eats half your resolution. In
- general, we recommend you use this only with resolutions above
- 640x350. Use this mode for continuous potential landscapes where you
- *NEED* all those shades.
-
- Option "2" gives you full spatial resolution but with only 16 shades
- of gray. If the red and blue images overlap, the colors are mixed.
- Good for wire-frame images (we call them surface grids), lorenz3d and
- 3D IFS. Works fine in 16 color modes.
-
- Option 3 is for creating stereo pair images for view later with more
- specialized equipment. It allows full color images to be presented in
- glorious stereo. The left image presented on the screen first. You
- may photograph it or save it. Then the second image is presented, you
- may do the same as the first image. You can then take the two images
- and convert them to a stereo image pair as outlined by Bruce Goren
-
- Fractint Version 18.2 Page 78
-
- (see below).
-
- Also see Stereo 3D Viewing (p. 80).
-
- Ray Tracing Output:
-
- Fractint can create files of its 3d transformations which are
- compatible with many ray tracing programs. Currently four are
- supported directly: DKB (now obsolete), VIVID, MTV, and RAYSHADE. In
- addition a "RAW" output is supported which can be relatively easily
- transformed to be usable by many other products. One other option is
- supported: ACROSPIN. This is not a ray tracer, but the same Fractint
- options apply - see Acrospin (p. 153).
-
- Option values:
- 0 disables the creation of ray tracing output
- 1 DKB format (obsolete-see below)
- 2 VIVID format
- 3 generic format (must be massaged externally)
- 4 MTV format
- 5 RAYSHADE format
- 6 ACROSPIN format
- Users of POV-Ray can use the DKB output and convert to POV-Ray with
- the DKB2POV utility that comes with POV-Ray. A better (faster)
- approach is to create a RAW output file and convert to POV-Ray with
- RAW2POV. A still better approach is to use POV-Ray's height field
- feature to directly read the fractal .GIF or .POT file and do the 3D
- transformation inside POV-Ray.
-
- All ray tracing files consist of triangles which follow the surface
- created by Fractint during the 3d transform. Triangles which lie
- below the "water line" are not created in order to avoid causing
- unnecessary work for the poor ray tracers which are already
- overworked. A simple plane can be substituted by the user at the
- waterline if needed.
-
- The size (and therefore the number) of triangles created is
- determined by the "coarse" parameter setting. While generating the
- ray tracing file, you will view the image from above and watch it
- partitioned into triangles.
-
- The color of each triangle is the average of the color of its
- verticies in the original image, unless BRIEF is selected.
-
- If BRIEF is selected, a default color is assigned at the begining of
- the file and is used for all triangles.
-
- Also see Interfacing with Ray Tracing Programs (p. 87).
-
- Brief output:
-
- This is a ray tracing sub-option. When it is set to yes, Fractint
- creates a considerably smaller and somewhat faster file. In this
- mode, all triangles use the default color specified at the begining
- of the file. This color should be edited to supply the color of your
- choice.
-
- Fractint Version 18.2 Page 79
-
- Targa Output:
-
- If you want any of the 3d transforms you select to be saved as a
- Targa-24 file or overlayed onto one, select yes for this option. The
- overlay option in the final screen determines whether you will create
- a new file or overlay an existing one.
-
- MAP File name:
-
- Imediately after selecting the previous options, you will be given
- the chance to select an alternate color MAP file. The default is to
- use the current MAP. If you want another MAP used, then enter your
- selection at this point.
-
- Output File Name:
-
- This is a ray tracing sub-option, used to specify the name of the
- file to be written. The default name is FRACT001.RAY. The name is
- incremented by one each time a file is written. If you have not set
- "overwrite=yes" then the file name will also be automatically
- incremented to avoid over-writing previous files.
-
- When you are satisfied with your selections press enter to go to the
- next parameter screen.
-
-
- 4.2 Select Fill Type Screen
-
- This option exists because in the course of the 3D projection, portions
- of the original image may be stretched to fit the new surface. Points of
- an image that formerly were right next to each other, now may have a
- space between them. This option generally determines what to do with the
- space between the mapped dots. It is not used if you have selected a
- value for RAY other than 0.
-
- For an illustration, pick the second option "just draw the points",
- which just maps points to corresponding points. Generally this will
- leave empty space between many of the points. Therefore you can choose
- various algorithms that "fill in" the space between the points in
- various ways.
-
- Later, try the first option "make a surface grid." This option will make
- a grid of the surface which is as many divisions in the original "y"
- direction as was set in "coarse" in the first screen. It is very fast,
- and can give you a good idea what the final relationship of parts of
- your picture will look like.
-
- Later, try the second option "connect the dots (wire frame)", then
- "surface fills" - "colors interpolated" and "colors not interpolated",
- the general favorites of the authors. Solid fill, while it reveals the
- pseudo-geology under your pseudo-landscape, inevitably takes longer.
-
- Later, try the light source fill types. These two algorithms allow you
- to position the "sun" over your "landscape." Each pixel is colored
- according to the angle the surface makes with an imaginary light source.
- You will be asked to enter the three coordinates of the vector pointing
-
- Fractint Version 18.2 Page 80
-
- toward the light in a following parameter screen - see Light Source
- Parameters (p. 83).
-
- "Light source before transformation" uses the illumination direction
- without transforming it. The light source is fixed relative to your
- computer screen. If you generate a sequence of images with progressive
- rotation, the effect is as if you and the light source are fixed and the
- object is rotating. Therefore as the object rotates features of the
- object move in and out of the light. This fill option was incorrect
- prior to version 16.1, and has been changed.
-
- "Light source after transformation" applies the same transformation to
- both the light direction and the object. Since both the light direction
- and the object are transformed, if you generate a sequence of images
- with the rotation progressively changed, the effect is as if the image
- and the light source are fixed in relation to each other and you orbit
- around the image. The illumination of features on the object is
- constant, but you see the object from different angles. This fill option
- was correct in earlier Fractint versions and has not been changed.
-
- For ease of discussion we will refer to the following fill types by
- these numbers:
- 1 - surface grid
- 2 - (default) - no fill at all - just draw the dots
- 3 - wire frame - joins points with lines
- 4 - surface fill - (colors interpolated)
- 5 - surface fill - (interpolation turned off)
- 6 - solid fill - draws lines from the "ground" up to the point
- 7 - surface fill with light model - calculated before 3D transforms
- 8 - surface fill with light model - calculated after 3D transforms
-
- Types 4, 7, and 8 interpolate colors when filling, making a very smooth
- fill if the palette is continuous. This may not be desirable if the
- palette is not continuous. Type 5 is the same as type 4 with
- interpolation turned off. You might want to use fill type 5, for
- example, to project a .GIF photograph onto a sphere. With type 4, you
- might see the filled-in points, since chances are the palette is not
- continuous; type 5 fills those same points in with the colors of
- adjacent pixels. However, for most fractal images, fill type 4 works
- better.
-
- This screen is not available if you have selected a ray tracing option.
-
-
- 4.3 Stereo 3D Viewing
-
- The "Funny Glasses" (stereo 3D) parameter screen is presented only if
- you select a non-zero stereo option in the prior 3D parameters. (See 3D
- Mode Selection (p. 76).) We suggest you definitely use defaults at
- first on this screen.
-
- When you look at an image with both eyes, each eye sees the image in
- slightly different perspective because they see it from different
- places.
-
- Fractint Version 18.2 Page 81
-
- The first selection you must make is ocular separation, the distance the
- between the viewers eyes. This is measured as a % of screen and is an
- important factor in setting the position of the final stereo image in
- front of or behind the CRT Screen.
-
- The second selection is convergence, also as a % of screen. This tends
- to move the image forward and back to set where it floats. More positive
- values move the image towards the viewer. The value of this parameter
- needs to be set in conjunction with the setting of ocular separation and
- the perspective distance. It directly adjusts the overall separation of
- the two stereo images. Beginning anaglyphers love to create images
- floating mystically in front of the screen, but grizzled old 3D veterans
- look upon such antics with disdain, and believe the image should be
- safely inside the monitor where it belongs!
-
- Left and Right Red and Blue image crop (% of screen also) help keep the
- visible part of the right image the same as the visible part of the left
- by cropping them. If there is too much in the field of either eye that
- the other doesn't see, the stereo effect can be ruined.
-
- Red and Blue brightness factor. The generally available red/blue-green
- glasses, made for viewing on ink on paper and not the light from a CRT,
- let in more red light in the blue-green lens than we would like. This
- leaves a ghost of the red image on the blue-green image (definitely not
- desired in stereo images). We have countered this by adjusting the
- intensity of the red and blue values on the CRT. In general you should
- not have to adjust this.
-
- The final entry is Map file name (present only if stereo=1 or stereo=2
- was selected). If you have a special map file you want to use for
- Stereo 3D this is the place to enter its name. Generally glasses1.map is
- for type 1 (alternating pixels), and glasses2.map is for type 2
- (superimposed pixels). Grid.map is great for wire-frame images using 16
- color modes.
-
- This screen is not available if you have selected a ray tracing option.
-
-
- 4.4 Rectangular Coordinate Transformation
-
- The first entries are rotation values around the X, Y, and Z axes. Think
- of your starting image as a flat map: the X value tilts the bottom of
- your monitor towards you by X degrees, the Y value pulls the left side
- of the monitor towards you, and the Z value spins it counter-clockwise.
- Note that these are NOT independent rotations: the image is rotated
- first along the X-axis, then along the Y-axis, and finally along the Z-
- axis. Those are YOUR axes, not those of your (by now hopelessly skewed)
- monitor. All rotations actually occur through the center of the original
- image. Rotation parameters are not used when a ray tracing option has
- been selected.
-
- Then there are three scaling factors in percent. Initially, leave the X
- and Y axes alone and play with Z, now the vertical axis, which
- translates into surface "roughness." High values of Z make spiky, on-
- beyond-Alpine mountains and improbably deep valleys; low values make
- gentle, rolling terrain. Negative roughness is legal: if you're doing an
-
- Fractint Version 18.2 Page 82
-
- M-set image and want Mandelbrot Lake to be below the ground, instead of
- eerily floating above, try a roughness of about -30%.
-
- Next we need a water level -- really a minimum-color value that performs
- the function "if (color < waterlevel) color = waterlevel". So it plots
- all colors "below" the one you choose at the level of that color, with
- the effect of filling in "valleys" and converting them to "lakes."
-
- Now we enter a perspective distance, which you can think of as the
- "distance" from your eye to the image. A zero value (the default) means
- no perspective calculations, which allows use of a faster algorithm.
- Perspective distance is not available if you have selected a ray tracing
- option.
-
- For non-zero values, picture a box with the original X-Y plane of your
- flat fractal on the bottom, and your 3D fractal inside. A perspective
- value of 100% places your eye right at the edge of the box and yields
- fairly severe distortion, like a close view through a wide-angle lens.
- 200% puts your eye as far from the front of the box as the back is
- behind. 300% puts your eye twice as far from the front of the box as
- the back is, etc. Try about 150% for reasonable results. Much larger
- values put you far away for even less distortion, while values smaller
- than 100% put you "inside" the box. Try larger values first, and work
- your way in.
-
- Next, you are prompted for two types of X and Y shifts (now back in the
- plane of your screen) that let you move the final image around if you'd
- like to re-center it. The first set, x and y shift with perspective,
- move the image and the effect changes the perspective you see. The
- second set, "x and y adjust without perspective", move the image but do
- not change perspective. They are used just for positioning the final
- image on the screen. Shifting of any type is not available if you have
- selected a ray tracing option.
-
-
- 4.5 3D Color Parameters
-
- You are asked for a range of "transparent" colors, if any. This option
- is most useful when using the 3D Overlay Mode (p. 84). Enter the color
- range (minimum and maximum value) for which you do not want to overwrite
- whatever may already be on the screen. The default is no transparency
- (overwrite everything).
-
- Now, for the final option. This one will smooth the transition between
- colors by randomizing them and reduce the banding that occurs with some
- maps. Select the value of randomize to between 0 (for no effect) and 7
- (to randomize your colors almost beyond use). 3 is a good starting
- point.
-
- That's all for this screen. Press enter for these parameters and the
- next and final screen will appear (honestly!).
-
- Fractint Version 18.2 Page 83
-
- 4.6 Light Source Parameters
-
- This one deals with all the aspects of light source and Targa files.
-
- You must choose the direction of the light from the light source. This
- will be scaled in the x, y, and z directions the same as the image. For
- example, 1,1,3 positions the light to come from the lower right front of
- the screen in relation to the untransformed image. It is important to
- remember that these coordinates are scaled the same as your image. Thus,
- "1,1,1" positions the light to come from a direction of equal distances
- to the right, below and in front of each pixel on the original image.
- However, if the x,y,z scale is set to 90,90,30 the result will be from
- equal distances to the right and below each pixel but from only 1/3 the
- distance in front of the screen i.e.. it will be low in the sky, say,
- afternoon or morning.
-
- Then you are asked for a smoothing factor. Unless you used Continuous
- Potential (p. 72) when generating the starting image, the illumination
- when using light source fills may appear "sparkly", like a sandy beach
- in bright sun. A smoothing factor of 2 or 3 will allow you to see the
- large-scale shapes better.
-
- Smoothing is primarily useful when doing light source fill types with
- plasma clouds. If your fractal is not a plasma cloud and has features
- with sharply defined boundaries (e.g. Mandelbrot Lake), smoothing may
- cause the colors to run. This is a feature, not a bug. (A copyrighted
- response of [your favorite commercial software company here], used by
- permission.)
-
- The ambient option sets the minimum light value a surface has if it has
- no direct lighting at all. All light values are scaled from this value
- to white. This effectively adjusts the depth of the shadows and sets the
- overall contrast of the image.
-
- If you selected the full color option, you have a few more choices. The
- next is the haze factor. Set this to make distant objects more hazy.
- Close up objects will have little effect, distant objects will have
- most. 0 disables the function. 100 is the maximum effect, the farthest
- objects will be lost in the mist. Currently, this does not really use
- distance from the viewer, we cheat and use the y value of the original
- image. So the effect really only works if the y-rotation (set earlier)
- is between +/- 30.
-
- Next, you can chose the name under which to save your Targa file. If you
- have a RAM disk handy, you might want to create the file on it, for
- speed. So include its full path name in this option. If you have not
- set "overwrite=yes" then the file name will be incremented to avoid
- over-writing previous files. If you are going to overlay an existing
- Targa file, enter its name here.
-
- Next, you may select the background color for the Targa file. The
- default background on the Targa file is sky blue. Enter the Red, Green,
- and Blue component for the background color you wish.
-
- Fractint Version 18.2 Page 84
-
- Finally, absolutely the last option (this time we mean it): you can now
- choose to overlay an existing Targa-24, type 2, non mapped, top-to-
- bottom file, such as created by Fractint or PVRay. The Targa file
- specified above will be overlayed with new info just as a GIF is
- overlayed on screen. Note: it is not necessary to use the "O" overlay
- command to overlay Targa files. The Targa_Overlay option must be set to
- yes, however.
-
-
- You'll probably want to adjust the final colors for monochrome fill
- types using light source via color cycling (p. 16). Try one of the
- more continuous palettes (<F8> through <F10>), or load the GRAY palette
- with the <A>lternate-map command.
-
- Now, lie down for a while in a quiet room with a damp washcloth on your
- forehead. Feeling better? Good -- because it's time to go back almost to
- the top of the 3D options and just say yes to:
-
-
- 4.7 Spherical Projection
-
- Picture a globe lying on its side, "north" pole to the right. (It's our
- planet, and we'll position it the way we like.) You will be mapping the
- X and Y axes of the starting image to latitude and longitude on the
- globe, so that what was a horizontal row of pixels follows a line of
- longitude. The defaults exactly cover the hemisphere facing you, from
- longitude 180 degrees (top) to 0 degrees (bottom) and latitude -90
- (left) to latitude 90 (right). By changing them you can map the image to
- a piece of the hemisphere or wrap it clear around the globe.
-
- The next entry is for a radius factor that controls the over-all size of
- the globe. All the rest of the entries are the same as in the landscape
- projection. You may want less surface roughness for a plausible look,
- unless you prefer small worlds with big topography, a la "The Little
- Prince."
-
- WARNING: When the "construction" process begins at the edge of the globe
- (default) or behind it, it's plotting points that will be hidden by
- subsequent points as the process sweeps around the sphere toward you.
- Our nifty hidden-point algorithms "know" this, and the first few dozen
- lines may be invisible unless a high mountain happens to poke over the
- horizon. If you start a spherical projection and the screen stays
- black, wait for a while (a longer while for higher resolution or fill
- type 6) to see if points start to appear. Would we lie to you? If you're
- still waiting hours later, first check that the power's still on, then
- consider a faster system.
-
-
- 4.8 3D Overlay Mode
-
- While the <3> command (see "3D" Images (p. 76)) creates its image on a
- blank screen, the <#> (or <shift-3> on some keyboards) command draws a
- second image over an existing displayed image. This image can be any
- restored image from a <R> command or the result of a just executed <3>
- command. So you can do a landscape, then press <#> and choose spherical
- projection to re-plot that image or another as a moon in the sky above
-
- Fractint Version 18.2 Page 85
-
- the landscape. <#> can be repeated as many times as you like.
-
- It's worth noting that not all that many years ago, one of us watched
- Benoit Mandelbrot and fractal-graphics wizard Dick Voss creating just
- such a moon-over-landscape image at IBM's research center in Yorktown
- Heights, NY. The system was a large and impressive mainframe with
- floating-point facilities bigger than the average minicomputer, running
- LBLGRAPH -- what Mandelbrot calls "an independent-minded and often very
- ill-mannered heap of graphics programs that originated in work by Alex
- Hurwitz and Jack Wright of IBM Los Angeles."
-
- We'd like to salute LBLGRAPH, its successors, and their creators,
- because it was their graphic output (like "Planetrise over Labelgraph
- Hill," plate C9 in Mandelbrot's "Fractal Geometry of Nature") that
- helped turn fractal geometry from a mathematical curiosity into a
- phenomenon. We'd also like to point out that it wasn't as fast, flexible
- or pretty as Fractint on a 386/16 PC with S-VGA graphics. Now, a lot of
- the difference has to do with the incredible progress of micro-processor
- power since then, so a lot of the credit should go to Intel rather than
- to our highly tuned code. OK, twist our arms -- it IS awfully good code.
-
-
- 4.9 Special Note for CGA or Hercules Users
-
- If you are one of those unfortunates with a CGA or Hercules 2-color
- monochrome graphics, it is now possible for you to make 3D projection
- images.
-
- Try the following unfortunately circuitous approach. Invoke Fractint,
- making sure you have set askvideo=yes. Use a disk-video mode to create a
- 256 color fractal. You might want to edit the fractint.cfg file to make
- a disk-video mode with the same pixel dimensions as your normal video.
- Using the "3" command, enter the file name of the saved 256 color file,
- then select your 2 or 4 color mode, and answer the other 3D prompts. You
- will then see a 3D projection of the fractal. Another example of Stone
- Soup responsiveness to our fan mail!
-
-
- 4.10 Making Terrains
-
- If you enjoy using Fractint for making landscapes, we have several new
- features for you to work with. When doing 3d transformations banding
- tends to occur because all pixels of a given height end up the same
- color. Now, colors can be randomized to make the transitions between
- different colors at different altitudes smoother. Use the new
- "RANDOMIZE= " variable to accomplish this. If your light source images
- all look like lunar landscapes since they are all monochrome and have
- very dark shadows, we now allow you to set the ambient light for
- adjusting the contrast of the final image. Use the "Ambient= " variable.
- In addition to being able to create scenes with light sources in
- monochrome, you can now do it in full color as well. Setting fullcolor=1
- will generate a Targa-24 file with a full color image which will be a
- combination of the original colors of the source image (or map file if
- you select map=something) and the amount of light which reflects off a
- given point on the surface. Since there can be 256 different colors in
- the original image and 256 levels of light, you can now generate an
-
- Fractint Version 18.2 Page 86
-
- image with *lots* of colors. To convert it to a GIF if you can't view
- Targa files directly, you can use PICLAB (see Other Programs (p. 153)),
- and the following commands:
-
- SET PALETTE 256
- SET CREZ 8
- TLOAD yourfile.tga
- MAKEPAL
- MAP
- GSAVE yourfile.gif
- EXIT
- Using the full color option allows you to also set a haze factor with
- the "haze= " variable to make more distant objects more hazy.
-
- As a default, full color files also have the background set to sky blue.
- Warning, the files which are created with the full color option are very
- large, 3 bytes per pixel. So be sure to use a disk with enough space.
- The file is created using Fractint's disk-video caching, but is always
- created on real disk (expanded or extended memory is not used.) Try the
- following settings of the new variables in sequence to get a feel for
- the effect of each one:
- ;use this with any filltype
- map=topo
- randomize=3; adjusting this smooths color transitions
-
- ;now add this using filltype 5 or 6
- ambient=20; adjusting this changes the contrast
- filltype=6
- smoothing=2; makes the light not quite as granular as the terrain
-
- ;now add the following, and this is where it gets slow
- fullcolor=1; use PICLAB to reduce resulting lightfile to a GIF
-
- ;and finally this
- haze=20; sets the amount of haze for distant objects
-
- When full color is being used, the image you see on the screen will
- represent the amount of light being reflected, not the colors in the
- final image. Don't be disturbed if the colors look weird, they are an
- artifact of the process being used. The image being created in the
- lightfile won't look like the screen.
-
- However, if you are worried, hit ESC several times and when Fractint
- gets to the end of the current line it will abort. Your partial image
- will be there as LIGHT001.TGA or with whatever file name you selected
- with the lightname option. Convert it as described above and adjust any
- parameters you are not happy with. Its a little awkward, but we haven't
- figured out a better way yet.
-
- Fractint Version 18.2 Page 87
-
- 4.11 Making 3D Slides
-
- Bruce Goren, CIS's resident stereoscopic maven, contributed these tips
- on what to do with your 3D images (Bruce inspired and prodded us so much
- we automated much of what follows, allowing both this and actual on
- screen stereo viewing, but we included it here for reference and a brief
- tutorial.)
-
- "I use a Targa 32 video card and TOPAS graphic software, moving the
- viewport or imaginary camera left and right to create two separate views
- of the stationary object in x,y,z, space. The distance between the two
- views, known as the inter-ocular distance, toe-in or convergence angle,
- is critical. It makes the difference between good 3-D and headache-
- generating bad 3-D.
-
- "For a 3D fractal landscape, I created and photographed the left and
- right eye views as if flying by in an imaginary airplane and mounted the
- film chips for stereo viewing. To make my image, first I generated a
- plasma cloud based on a color map I calculated to resemble a geological
- survey map (available on CIS as TARGA.MAP). In the 3D reconstruction, I
- used a perspective value of 150 and shifted the camera -15 and +15 on
- the X-axis for the left and right views. All other values were left to
- the defaults.
-
- "The images are captured on a Matrix 3000 film recorder -- basically a
- box with a high-resolution (1400 lines) black and white TV and a 35mm
- camera (Konica FS-1) looking at the TV screen through a filter wheel.
- The Matrix 3000 can be calibrated for 8 different film types, but so far
- I have only used Kodak Ektachrome 64 daylight for slides and a few print
- films. I glass mount the film chips myself.
-
- "Each frame is exposed three times, once through each of the red, blue,
- and green filters to create a color image from computer video without
- the scan-lines which normally result from photographing television
- screens. The aspect ratio of the resulting images led me to mount the
- chips using the 7-sprocket Busch-European Emde masks. The best source of
- Stereo mounting and viewing supplies I know of is an outfit called Reel
- 3-D Enterprises, Inc. at P.O. Box 2368, Culver City, CA 90231, tel. 213-
- 837-2368. "My platform is an IBM PC/AT crystal-swapped up to 9 MHz. The
- math co-processor runs on a separate 8-MHz accessory sub-board. The
- system currently has 6.5 MB of RAM."
-
-
- 4.12 Interfacing with Ray Tracing Programs
-
- (Also see "Ray Tracing Output", "Brief", and "Output File Name" in "3D
- Mode Selection" (p. 76).)
-
- Fractint allows you to save your 3d transforms in files which may be fed
- to a ray tracer (or to "Acrospin"). However, they are not ready to be
- traced by themselves. For one thing, no light source is included. They
- are actually meant to be included within other ray tracing files.
-
- Since the intent is to produce an object which may be included in a
- larger ray tracing scene, it is expected that all rotations, shifts, and
- final scaling will be done by the ray tracer. Thus, in creating the
-
- Fractint Version 18.2 Page 88
-
- images, no facilities for rotations or shifting is provided. Scaling is
- provided to achieve the correct aspect ratio.
-
- WARNING! The files created using the RAY option can be huge. Setting
- COARSE to 40 will result in over 2000 triangles. Each triangle can
- utilize from 50 to 200 bytes each to describe, so your ray tracing files
- can rapidly approach or exceed 1Meg. Make sure you have enough disk
- space before you start.
-
- Each file starts with a comment identifying the version of Fractint by
- which it was created. The file ends with a comment giving the number of
- triangles in the file.
-
- The files consist of long strips of adjacent triangles. Triangles are
- clockwise or counter clockwise depending on the target ray tracer.
- Currently, MTV and Rayshade are the only ones which use counter
- clockwise triangles. The size of the triangles is set by the COARSE
- setting in the main 3d menu. Color information about each individual
- triangle is included for all files unless in the brief mode.
-
- To keep the poor ray tracer from working too hard, if WATERLINE is set
- to a non zero value, no triangle which lies entirely at or below the
- current setting of WATERLINE is written to the ray tracing file. These
- may be replaced by a simple plane in the syntax of the ray tracer you
- are using.
-
- Fractint's coordinate system has the origin of the x-y plane at the
- upper left hand corner of the screen, with positive x to the right and
- positive y down. The ray tracing files have the origin of the x-y plane
- moved to the center of the screen with positive x to the right and
- positive y up. Increasing values of the color index are out of the
- screen and in the +z direction. The color index 0 will be found in the
- xy plane at z=-1.
-
- When x- y- and zscale are set to 100, the surface created by the
- triangles will fall within a box of +/- 1.0 in all 3 directions.
- Changing scale will change the size and/or aspect ratio of the enclosed
- object.
-
- We will only describe the structure of the RAW format here. If you want
- to understand any of the ray tracing file formats besides RAW, please
- see your favorite ray tracer docs.
-
- The RAW format simply consists of a series of clockwise triangles. If
- BRIEF=yes, Each line is a vertex with coordinates x, y, and z. Each
- triangle is separated by a couple of CR's from the next. If BRIEF=no,
- the first line in each triangle description if the r,g,b value of the
- triangle.
-
- Setting BRIEF=yes produces shorter files with the color of each triangle
- removed - all triangles will be the same color. These files are
- otherwise identical to normal files but will run faster than the non
- BRIEF files. Also, with BRIEF=yes, you may be able to get files with
- more triangles to run than with BRIEF=no.
-
- Fractint Version 18.2 Page 89
-
- The DKB format is now obsolete. POV-Ray users should use the RAW output
- and convert to POV-Ray using the POV Group's RAW2POV utility. POV-Ray
- users can also do all 3D transformations within POV-Ray using height
- fields.
-
-
-
- Fractint Version 18.2 Page 90
-
- 5. Command Line Parameters, Parameter Files, Batch Mode
-
- Fractint accepts command-line parameters that allow you to start it with
- a particular video mode, fractal type, starting coordinates, and just
- about every other parameter and option.
-
- These parameters can also be specified in a SSTOOLS.INI file, to set
- them every time you run Fractint.
-
- They can also be specified as named groups in a .PAR (parameter) file
- which you can then call up while running Fractint by using the <@>
- command.
-
- In all three cases (DOS command line, SSTOOLS.INI, and parameter file)
- the parameters use the same syntax, usually a series of keyword=value
- commands like SOUND=OFF. Each parameter is described in detail in
- subsequent sections.
-
-
- 5.1 Using the DOS Command Line
-
- You can specify parameters when you start Fractint from DOS by using a
- command like:
-
- FRACTINT SOUND=OFF FILENAME=MYIMAGE.GIF
-
- The individual parameters are separated by one or more spaces (an
- parameter itself may not include spaces). Upper or lower case may be
- used, and parameters can be in any order.
-
- Since DOS commands are limited to 128 characters, Fractint has a special
- command you can use when you have a lot of startup parameters (or have a
- set of parameters you use frequently):
-
- FRACTINT @MYFILE
-
- When @filename is specified on the command line, Fractint reads
- parameters from the specified file as if they were keyed on the command
- line. You can create the file with a text editor, putting one
- "keyword=value" parameter on each line.
-
-
- 5.2 Setting Defaults (SSTOOLS.INI File)
-
- Every time Fractint runs, it searches the current directory, and then
- the directories in your DOS PATH, for a file named SSTOOLS.INI. If it
- finds this file, it begins by reading parameters from it. This file is
- useful for setting parameters you always want, such as those defining
- your printer setup.
-
- SSTOOLS.INI is divided into sections belonging to particular programs.
- Each section begins with a label in brackets. Fractint looks for the
- label [fractint], and ignores any lines it finds in the file belonging
- to any other label. If an SSTOOLS.INI file looks like this:
-
- Fractint Version 18.2 Page 91
-
- [fractint]
- sound=off ; (for home use only)
- printer=hp ; my printer is a LaserJet
- inside=0 ; using "traditional" black
- [startrek]
- warp=9.5 ; Captain, I dinna think the engines can take it!
-
- Fractint will use only the second, third, and fourth lines of the file.
- (Why use a convention like that when Fractint is the only program you
- know of that uses an SSTOOLS.INI file? Because there are other programs
- (such as Lee Crocker's PICLAB) that now use the same file, and there may
- one day be other, sister programs to Fractint using that file.)
-
-
- 5.3 Parameter Files and the <@> Command
-
- You can change parameters on-the-fly while running Fractint by using the
- <@> command and a parameter file. Parameter files contain named groups
- of parameters, looking something like this:
-
- quickdraw { ; a set of parameters named quickdraw
- maxiter=150
- float=no
- }
- slowdraw { ; another set of parameters
- maxiter=2000
- float=yes
- }
-
- If you use the <@> command and select a parameter file containing the
- above example, Fractint will show two choices: quickdraw and slowdraw.
- You move the cursor to highlight one of the choices and press <Enter> to
- set the parameters specified in the file by that choice.
-
- The default parameter file name is FRACTINT.PAR. A different file can be
- selected with the "parmfile=" option, or by using <@> and then hitting
- <F6>.
-
- You can create parameter files with a text editor, or for some uses, by
- using the <B> command. Parameter files can be used in a number of ways,
- some examples:
-
- o To save the parameters for a favorite image. Fractint can do this
- for you with the <B> command.
-
- o To save favorite sets of 3D transformation parameters. Fractint can
- do this for you with the <B> command.
-
- o To set up different sets of parameters you use occasionally. For
- instance, if you have two printers, you might want to set up a group
- of parameters describing each.
-
- o To save image parameters for later use in batch mode - see Batch
- Mode (p. 110).
-
- Fractint Version 18.2 Page 92
-
- See "Parameter Save/Restore Commands" (p. 22) for details about the <@>
- and <B> commands.
-
-
- 5.4 General Parameter Syntax
-
- Parameters must be separated by one or more spaces.
-
- Upper and lower case can be used in keywords and values.
-
- Anything on a line following a ; (semi-colon) is ignored, i.e. is a
- comment.
-
- In parameter files and SSTOOLS.INI:
- o Individual parameters can be entered on separate lines.
- o Long values can be split onto multiple lines by ending a line with a
- \ (backslash) - leading spaces on the following line are ignored,
- the information on the next line from the first non-blank character
- onward is appended to the prior line.
-
- Some terminology:
- KEYWORD=nnn enter a number in place of "nnn"
- KEYWORD=[filename] you supply filename
- KEYWORD=yes|no|whatever choose one of "yes", "no", or "whatever"
- KEYWORD=1st[/2nd[/3rd]] the slash-separated parameters "2nd" and
- "3rd" are optional
-
-
- 5.5 Startup Parameters
-
- @FILENAME
- Causes Fractint to read "filename" for parameters. When it finishes, it
- resumes reading its own command line -- i.e., "FRACTINT MAXITER=250
- @MYFILE PASSES=1" is legal. This option is only valid on the DOS command
- line, as Fractint is not clever enough to deal with multiple
- indirection.
-
- @FILENAME/GROUPNAME
- Like @FILENAME, but reads a named group of parameters from a parameter
- file. See "Parameter Files and the <@> Command" (p. 91).
-
- FILENAME=[name]
- Causes Fractint to read the named file, which must either have been
- saved from an earlier Fractint session or be a generic GIF file, and use
- that as the starting point, bypassing the initial information screens.
- The filetype is optional and defaults to .GIF. Non-Fractint GIF files
- are restored as fractal type "plasma".
- On the DOS command line you may omit FILENAME= and just give the file
- name.
-
- BATCH=yes
- See Batch Mode (p. 110).
-
- AUTOKEY=play|record
- Specifying "play" runs Fractint in playback mode - keystrokes are read
- from the autokey file (see next parameter) and interpreted as if they're
-
- Fractint Version 18.2 Page 93
-
- being entered from the keyboard.
- Specifying "record" runs in recording mode - all keystrokes are recorded
- in the autokey file.
- See also Autokey Mode (p. 66).
-
- AUTOKEYNAME=[filename]
- Specifies the file name to be used in autokey mode. The default file
- name is AUTO.KEY.
-
- FPU=387|IIT|NOIIT
- This parameter is useful if you have an unusual coprocessor chip. If you
- have a 80287 replacement chip with full 80387 functionality use
- "FPU=387" to inform Fractint to take advantage of those extra 387
- instructions. If you have the IIT fpu, but don't have IIT's
- 'f4x4int.com' TSR loaded, use "FPU=IIT" to force Fractint to use that
- chip's matrix multiplication routine automatically to speed up 3-D
- transformations (if you have an IIT fpu and have that TSR loaded,
- Fractint will auto-detect the presence of the fpu and TSR and use its
- extra capabilities automatically). Since all IIT chips support 80387
- instructions, enabling the IIT code also enables Fractint's use of all
- 387 instructions. Setting "FPU=NOIIT" disables Fractint's IIT Auto-
- detect capability. Warning: multi-tasking operating systems such as
- Windows and DesQView don't automatically save the IIT chip extra
- registers, so running two programs at once that both use the IIT's
- matrix multiply feature but don't use the handshaking provided by that
- 'f4x4int.com' program, errors will result.
-
- MAKEDOC[=filename]
- Create Fractint documentation file (for printing or viewing with a text
- editor) and then return to DOS. Filename defaults to FRACTINT.DOC.
- There's also a function in Fractint's online help which can be used to
- produce the documentation file - use "Printing Fractint Documentation"
- from the main help index.
-
-
- 5.6 Calculation Mode Parameters
-
- PASSES=1|2|guess|btm|tesseral
- Selects single-pass, dual-pass, solid-Guessing mode, Boundary Tracing,
- or the Tesseral algorithm. See Drawing Method (p. 65).
-
- FILLCOLOR=normal|<nnn>
- Sets a color to be used for block fill by Boundary Tracing and Tesseral
- algorithms. See Drawing Method (p. 65).
-
- FLOAT=yes
- Most fractal types have both a fast integer math and a floating point
- version. The faster, but possibly less accurate, integer version is the
- default. If you have a new 80486 or other fast machine with a math
- coprocessor, or if you are using the continuous potential option (which
- looks best with high bailout values not possible with our integer math
- implementation), you may prefer to use floating point. Just add
- "float=yes" to the command line to do so. Also see "Limitations of
- Integer Math (And How We Cope)" (p. 123).
-
- Fractint Version 18.2 Page 94
-
- SYMMETRY=xxx
- Forces symmetry to None, Xaxis, Yaxis, XYaxis, Origin, or Pi symmetry.
- Useful for debugging.
-
-
- 5.7 Fractal Type Parameters
-
- TYPE=[name]
- Selects the fractal type to calculate. The default is type "mandel".
-
- PARAMS=n/n/n/n...
- Set optional (required, for some fractal types) values used in the
- calculations. These numbers typically represent the real and imaginary
- portions of some startup value, and are described in detail as needed in
- Fractal Types (p. 29).
- (Example: FRACTINT TYPE=julia PARAMS=-0.48/0.626 would wait at the
- opening screen for you to select a video mode, but then proceed straight
- to the Julia set for the stated x (real) and y (imaginary) coordinates.)
-
- FUNCTION=[fn1[/fn2[/fn3[/fn4]]]]
- Allows setting variable functions found in some fractal type formulae.
- Possible values are sin, cos, tan, cotan, sinh, cosh, tanh, cotanh, exp,
- log, sqr, recip (i.e. 1/z), ident (i.e. identity), and cosxx (cos with a
- pre version 16 bug).
-
- FORMULANAME=[formulaname]
- Specifies the default formula name for type=formula fractals. (I.e. the
- name of a formula defined in the FORMULAFILE.) Required if you want to
- generate one of these fractal types in batch mode, as this is the only
- way to specify a formula name in that case.
-
- LNAME=[lsystemname]
- Specifies the default L-System name. (I.e. the name of an entry in the
- LFILE.) Required if you want to generate one of these fractal types in
- batch mode, as this is the only way to specify an L-System name in that
- case.
-
- IFS=[ifsname]
- Specifies the default IFS name. (I.e. the name of an entry in the
- IFSFILE.) Required if you want to generate one of these fractal types in
- batch mode, as this is the only way to specify an IFS name in that case.
-
-
- 5.8 Image Calculation Parameters
-
- MAXITER=nnn
- Reset the iteration maximum (the number of iterations at which the
- program gives up and says 'OK, this point seems to be part of the set in
- question and should be colored [insidecolor]') from the default 150.
- Values range from 10 to 32000 (super-high iteration limits like 30000
- are useful when using logarithmic palettes). See The Mandelbrot Set
- (p. 29) for a description of the iteration method of calculating
- fractals.
- "maxiter=" can also be used to adjust the number of orbits plotted for
- 3D "attractor" fractal types such as lorenz3d and kamtorus.
-
- Fractint Version 18.2 Page 95
-
- CORNERS=xmin/xmax/ymin/ymax[/x3rd/y3rd]
- Example: corners=-0.739/-0.736/0.288/0.291
- Begin with these coordinates as the range of x and y coordinates, rather
- than the default values of (for type=mandel) -2.0/2.0/-1.5/1.5. When you
- specify four values (the usual case), this defines a rectangle: x-
- coordinates are mapped to the screen, left to right, from xmin to xmax,
- y-coordinates are mapped to the screen, bottom to top, from ymin to
- ymax. Six parameters can be used to describe any rotated or stretched
- parallelogram: (xmin,ymax) are the coordinates used for the top-left
- corner of the screen, (xmax,ymin) for the bottom-right corner, and
- (x3rd,y3rd) for the bottom-left.
-
- CENTER-MAG=[Xctr/Yctr/Mag]
- This is an alternative way to enter corners as a center point and a
- magnification that is popular with some fractal programs and
- publications. Entering just "CENTER-MAG=" tells Fractint whether to use
- this form rather than corners when saving parameters with the <B>
- command. The <TAB> status display shows the "corners" in both forms.
- Note that an aspect ratio of 1.3333 is assumed; if you have altered the
- zoom box proportions or rotated the zoom box, this form can no longer be
- used.
-
- BAILOUT=nnn
- Over-rides the default bailout criterion for escape-time fractals. Can
- also be set from the parameters screen after selecting a fractal type.
- See description of bailout in The Mandelbrot Set (p. 29).
-
- RESET
- Causes Fractint to reset all calculation related parameters to their
- default values. Non-calculation parameters such as "printer=", "sound=",
- and "savename=" are not affected. RESET should be specified at the start
- of each parameter file entry (used with the <@> command) which defines
- an image, so that the entry need not describe every possible parameter -
- when invoked, all parameters not specifically set by the entry will have
- predictable values (the defaults).
-
- INITORBIT=pixel
- INITORBIT=nnn/nnn
- Allows control over the value used to begin each Mandelbrot-type orbit.
- "initorbit=pixel" is the default for most types; this command
- initializes the orbit to the complex number corresponding to the screen
- pixel. The command "initorbit=nnn/nnn" uses the entered value as the
- initializer. See the discussion of the Mandellambda Sets (p. 35) for
- more on this topic.
-
- ORBITDELAY=<nn>
- Slows up the display of orbits using the <o> command for folks with hot
- new computers. Units are in 1/10000 seconds per orbit point.
- ORBITDELAY=10 therefore allows you to see each pixel's orbit point for
- about one millisecond. For best display of orbits, try passes=1 and a
- moderate resolution such as 320x200. Note that the first time you press
- the 'o' key with the 'orbitdelay' function active, your computer will
- pause for a half-second or so to calibrate a high-resolution timer.
-
- Fractint Version 18.2 Page 96
-
- PERIODICITY=no|show|nnn
- Controls periodicity checking (see Periodicity Logic (p. 123)). "no"
- turns it off, "show" lets you see which pixels were painted as "inside"
- due to being caught by periodicity. Specifying a number causes a more
- conservative periodicity test (each increase of 1 divides test tolerance
- by 2). Entering a negative number lets you turn on "show" with that
- number. Type lambdafn function=exp needs periodicity turned off to be
- accurate -- there may be other cases.
-
- RSEED=nnnn
- The initial random-number "seed" for plasma clouds is taken from your
- PC's internal clock-timer. This argument forces a value (which you can
- see in the <Tab> display), and allows you to reproduce plasma clouds. A
- detailed discussion of why a TRULY random number may be impossible to
- define, let alone generate, will have to wait for "FRACTINT: The 3-MB
- Doc File."
-
- SHOWDOT=<nn>
- Colors the pixel being calculated color <nn>. Useful for very slow
- fractals for showing you the calculation status.
-
-
- 5.9 Color Parameters
-
- INSIDE=nnn|bof60|bof61|zmag|attractor|epscross|startrail|period
- Set the color of the interior: for example, "inside=0" makes the M-set
- "lake" a stylish basic black. A setting of -1 makes inside=maxiter.
- Three more options reveal hidden structure inside the lake.
- Inside=bof60 and inside=bof61, are named after the figures on pages 60
- and 61 of "Beauty of Fractals". See Inside=bof60|bof61|zmag|period
- (p. 138) for a brilliant explanation of what these do!
-
- Inside=zmag is a method of coloring based on the magnitude of Z after
- the maximum iterations have been reached. The affect along the edges of
- the Mandelbrot is like thin-metal welded sculpture.
-
- Inside=epscross colors pixels green or yellow according to whether their
- orbits swing close to the Y-axis or X-axis, respectively.
- Inside=starcross has a coloring scheme based on clusters of points in
- the orbits. Best with outside=<nnn>. For more information, see
- Inside=epscross|startrail (p. 138).
-
- Inside=period colors pixels according to the period of their eventual
- orbit.
-
- Note that the "Look for finite attractor" option on the <Y> options
- screen will override the selected inside option if an attractor is found
- - see Finite Attractors (p. 139).
-
- OUTSIDE=nnn|iter|real|imag|summ|mult
- The classic method of coloring outside the fractal is to color according
- to how many iterations were required before Z reached the bailout value,
- usually 4. This is the method used when OUTSIDE=iter.
-
- Fractint Version 18.2 Page 97
-
- However, when Z reaches bailout the real and imaginary components can be
- at very diferent values. OUTSIDE=real and OUTSIDE=imag color using the
- iteration value plus the real or imaginary values. OUTSIDE=summ uses
- the sum of all these values. These options can give a startling 3d
- quality to otherwise flat images and can change some boring images to
- wonderful ones. OUTSIDE=mult colors by multiplying the iteration by real
- divided by imaginary. There was no mathematical reason for this, it just
- seemed like a good idea.
-
- Outside=nnn sets the color of the exterior to some number of your
- choosing: for example, "OUTSIDE=1" makes all points not INSIDE the
- fractal set to color 1 (blue). Note that defining an OUTSIDE color
- forces any image to be a two-color one: either a point is INSIDE the
- set, or it's OUTSIDE it.
-
- MAP=[filename]
- Reads in a replacement color map from [filename]. This map replaces the
- default color map of your video adapter. Requires a VGA or higher
- adapter. The difference between this argument and an alternate map read
- in via <L> in color-command mode is that this one applies to the entire
- run. See Palette Maps (p. 65).
-
- COLORS=@filename|colorspecification
- Sets colors for the current image, like the <L> function in color
- cycling and palette editing modes. Unlike the MAP= parameter, colors set
- with COLORS= do not replace the default - when you next select a new
- video mode, colors will revert to their defaults.
- COLORS=@filename tells Fractint to use a color map file named
- "filename". See Palette Maps (p. 65).
- COLORS=colorspecification specifies the colors directly. The value of
- "colorspecification" is rather long (768 characters for 256 color
- modes), and its syntax is not documented here. This form of the COLORS=
- command is not intended for manual use - it exists for use by the <B>
- command when saving the description of a nice image.
-
- CYCLERANGE=nnn/nnn
- Sets the range of color numbers to be animated during color cycling.
- The default is 1/255, i.e. just color number 0 (usually black) is not
- cycled.
-
- CYCLELIMIT=nnn
- Sets the speed of color cycling. Technically, the number of DAC
- registers updated during a single vertical refresh cycle. Legal values
- are 1 - 256, default is 55.
-
- TEXTCOLORS=mono
- Set text screen colors to simple black and white.
-
- TEXTCOLORS=aa/bb/cc/...
- Set text screen colors. Omit any value to use the default (e.g.
- textcolors=////50 to set just the 5th value). Each value is a 2 digit
- hexadecimal value; 1st digit is background color (from 0 to 7), 2nd
- digit is foreground color (from 0 to F).
- Color values are:
- 0 black 8 gray
- 1 blue 9 light blue
-
- Fractint Version 18.2 Page 98
-
- 2 green A light green
- 3 cyan B light cyan
- 4 red C light red
- 5 magenta D light magenta
- 6 brown E yellow
- 7 white F bright white
- 31 colors can be specified, their meanings are as follows:
- heading:
- 1 Fractint version info
- 2 heading line development info (not used in released version)
- help:
- 3 sub-heading
- 4 main text
- 5 instructions at bottom of screen
- 6 hotlink field
- 7 highlighted (current) hotlink
- menu, selection boxes, parameter input boxes:
- 8 background around box and instructions at bottom
- 9 emphasized text outside box
- 10 low intensity information in box
- 11 medium intensity information in box
- 12 high intensity information in box (e.g. heading)
- 13 current keyin field
- 14 current keyin field when it is limited to one of n values
- 15 current choice in multiple choice list
- 16 speed key prompt in multiple choice list
- 17 speed key keyin in multiple choice list
- general (tab key display, IFS parameters, "thinking" display):
- 18 high intensity information
- 19 medium intensity information
- 20 low intensity information
- 21 current keyin field
- disk video:
- 22 background around box
- 23 high intensity information
- 24 low intensity information
- diagnostic messages:
- 25 error
- 26 information
- credits screen:
- 27 bottom lines
- 28 high intensity divider line
- 29 low intensity divider line
- 30 primary authors
- 31 contributing authors
- The default is
- textcolors=1F/1A/2E/70/28/71/31/78/70/17/
- 1F/1E/2F/3F/5F/07/0D/71/70/78/0F/
- 70/0E/0F/4F/20/17/20/28/0F/07
- (In a real command file, all values must be on one line.)
-
- Fractint Version 18.2 Page 99
-
- 5.10 Doodad Parameters
-
- LOGMAP=yes|old|n
- Selects a compressed relationship between escape-time iterations and
- palette colors. See "Logarithmic Palettes and Color Ranges" (p. 71)
- for details.
-
- RANGES=nn/nn/nn/...
- Specifies ranges of escape-time iteration counts to be mapped to each
- color number. See "Logarithmic Palettes and Color Ranges" (p. 71) for
- details.
-
- DISTEST=nnn/nnn
- A nonzero value in the first parameter enables the distance estimator
- method. The second parameter specifies the "width factor", defaults to
- 71. See "Distance Estimator Method" (p. 68) for details.
-
- DECOMP=2|4|8|16|32|64|128|256
- Invokes the corresponding decomposition coloring scheme. See
- Decomposition (p. 70) for details.
-
- BIOMORPH=nnn
- Turn on biomorph option; set affected pixels to color nnn. See
- Biomorphs (p. 72) for details.
-
- POTENTIAL=maxcolor[/slope[/modulus[/16bit]]]
- Enables the "continuous potential" coloring mode for all fractal types
- except plasma clouds, attractor types such as lorenz, and IFS. The four
- arguments define the maximum color value, the slope of the potential
- curve, the modulus "bailout" value, and whether 16 bit values are to be
- calculated. Example: "POTENTIAL=240/2000/40/16bit". The Mandelbrot and
- Julia types ignore the modulus bailout value and use their own hardwired
- value of 4.0 instead. See Continuous Potential (p. 72) for details.
-
- INVERT=nn/nn/nn
- Turns on inversion. The parameters are radius of inversion, x-coordinate
- of center, and y-coordinate of center. -1 as the first parameter sets
- the radius to 1/6 the smaller screen dimension; no x/y parameters
- defaults to center of screen. The values are displayed with the <Tab>
- command. See Inversion (p. 69) for details.
-
- FINATTRACT=no|yes
- Another option to show coloring inside some Julia "lakes" to show escape
- time to finite attractors. Works with lambda, magnet types, and possibly
- others. See Finite Attractors (p. 139) for more information.
-
- EXITNOASK=yes
- This option forces Fractint to bypass the final "are you sure?" exit
- screen when the ESCAPE key is pressed from the main image-generation
- screen. Added at the request of Ward Christensen. It's his funeral
- <grin>.
-
- Fractint Version 18.2 Page 100
-
- 5.11 File Parameters
-
- SAVENAME=[name]
- Set the filename to use when you <S>ave a screen. The default filename
- is FRACT001. The .GIF extension is optional (Example: SAVENAME=myfile)
-
- OVERWRITE=no|yes
- Sets the savename overwrite flag (default is 'no'). If 'yes', saved
- files will over-write existing files from previous sessions; otherwise
- the automatic incrementing of FRACTnnn.GIF will find the first unused
- filename.
-
- SAVETIME=nnn
- Tells Fractint to automatically do a save every nnn minutes while a
- calculation is in progress. This is mainly useful with long batches -
- see Batch Mode (p. 110).
-
- GIF87a=YES
- Backward-compatibility switch to force creation of GIF files in the
- GIF87a format. As of version 14, Fractint defaults to the new GIF89a
- format which permits storage of fractal information within the format.
- GIF87a=YES is only needed if you wish to view Fractint images with a GIF
- decoder that cannot accept the newer format. See GIF Save File Format
- (p. 150).
-
- DITHER=YES
- Dither a color file into two colors for display on a b/w display. This
- give a poor-quality display of gray levels. Note that if you have a 2-
- color display, you can create a 256-color gif with disk video and then
- read it back in dithered.
-
- PARMFILE=[parmfilename]
- Specifies the default parameter file to be used by the <@> and <B>
- commands. If not specified, the default is FRACTINT.PAR.
-
- FORMULAFILE=[formulafilename]
- Specifies the formula file for type=formula fractals (default is
- FRACTINT.FRM). Handy if you want to generate one of these fractal types
- in batch mode.
-
- LFILE=[lsystemfile]
- Specifies the default L-System file for type=lsystem fractals (if not
- FRACTINT.L).
-
- IFSFILE=[ifsfilename]
- Specifies the default file for type=ifs fractals (default is
- FRACTINT.IFS).
-
- FILENAME=[.suffix]
- Sets the default file extension used for the <r> command. When this
- parameter is omitted, the default file mask shows .GIF and .POT files.
- You might want to specify this parameter and the SAVENAME= parameter in
- your SSTOOLS.INI file if you keep your fractal images separate from
- other .GIF files by using a different suffix for them.
-
- Fractint Version 18.2 Page 101
-
- ORBITSAVE=yes
- Causes the file ORBITS.RAW to be opened and the points generated by
- orbit fractals or IFS fractals to be saved in a raw format. This file
- can be read by the Acrospin program which can rotate and scale the image
- rapidly in response to cursor-key commands. The filename ORBITS.RAW is
- fixed and will be overwritten each time a new fractal is generated with
- this option.
- (see Barnsley IFS Fractals (p. 39) Orbit Fractals (p. 46) Acrospin
- (p. 153));
-
-
- 5.12 Video Parameters
-
- VIDEO=xxx
- Set the initial video mode (and bypass the informational screens). Handy
- for batch runs. (Example: VIDEO=F4 for IBM 16-color VGA.) You can
- obtain the current VIDEO= values (key assignments) from the "select
- video mode" screens inside Fractint. If you want to do a batch run with
- a video mode which isn't currently assigned to a key, you'll have to
- modify the key assignments - see "Video Mode Function Keys" (p. 27).
-
- ASKVIDEO=yes|no
- If "no," this eliminates the prompt asking you if a file to be restored
- is OK for your current video hardware.
- WARNING: every version of Fractint so far has had a bigger, better, but
- shuffled-around video table. Since calling for a mode your hardware
- doesn't support can leave your system in limbo, be careful about leaving
- the above two parameters in a command file to be used with future
- versions of Fractint, particularly for the super-VGA modes.
-
-
- ADAPTER=hgc|cga|ega|egamono|mcga|vga|ATI|Everex|Trident|NCR|Video7|Genoa|
- Paradise|Chipstech|Tseng3000|Tseng4000|AheadA|AheadB|Oaktech
- Bypasses Fractint's internal video autodetect logic and assumes that the
- specified kind of adapter is present. Use this parameter only if you
- encounter video problems without it. Specifying adapter=vga with an
- SVGA adapter will make its extended modes unusable with Fractint. All
- of the options after the "VGA" option specify specific SuperVGA chipsets
- which are capable of video resolutions higher than that of a "vanilla"
- VGA adapter. Note that Fractint cares about the Chipset your adapter
- uses internally, not the name of the company that sold it to you.
-
- VESADETECT=yes|no
- Specify no to bypass VESA video detection logic. Try this if you
- encounter video problems with a VESA compliant video adapter or driver.
-
- AFI=yes|8514|no
- Normally, when you attempt to use an 8514/A-specific video mode,
- Fractint first attempts to detect the presence of an 8514/A register-
- compatible adapter. If it fails to find one, it then attempts to detect
- the presence of an 8514/A-compatible API (IE, IBM's HDILOAD or its
- equivalent). Fractint then uses either its register-compatible or its
- API-compatible video logic based on the results of those tests. If you
- have an "8514/A-compatible" video adapter that passes Fractint's
- register-compatible detection logic but doesn't work correctly with
- Fractint's register-compatible video logic, setting "afi=yes" will force
-
- Fractint Version 18.2 Page 102
-
- Fractint to bypass the register-compatible code and look only for the
- API interface.
-
- TEXTSAFE=yes|no|bios|save
- When you switch from a graphics image to text mode (e.g. when you use
- <F1> while a fractal is on display), Fractint remembers the graphics
- image, and restores it when you return from the text mode. This should
- be no big deal - there are a number of well-defined ways Fractint could
- do this which *should* work on any video adapter. They don't - every
- fast approach we've tried runs into a bug on one video adapter or
- another. So, we've implemented a fast way which works on most adapters
- in most modes as the default, and added this parameter for use when the
- default approach doesn't work.
- If you experience the following problems, please fool around with this
- parameter to try to fix the problem:
- o Garbled image, or lines or dashes on image, when returning to image
- after going to menu, <tab> display, or help.
- o Blank screen when starting Fractint.
- The problems most often occur in higher resolution modes. We have not
- encountered them at all in modes under 320x200x256 - for those modes
- Fractint always uses a fast image save/restore approach.
- Textsafe options:
- yes: This is the default. When switching to/from graphics, Fractint
- saves just that part of video memory which EGA/VGA adapters are
- supposed to modify during the mode changes.
- no: This forces use of monochrome 640x200x2 mode for text displays
- (when there is a high resolution graphics image to be saved.) This
- choice is fast but uses chunky and colorless characters. If it turns
- out to be the best choice for you, you might want to also specify
- "textcolors=mono" for a more consistent appearance in text screens.
- bios: This saves memory in the same way as textsafe=yes, but uses the
- adapter's BIOS routines to save/restore the graphics state. This
- approach is fast and ought to work on all adapters. Sadly, we've
- found that very few adapters implement this function perfectly.
- save: This is the last choice to try. It should work on all adapters
- in all modes but it is slow. It tells Fractint to save/restore the
- entire image. Expanded or extended memory is used for the save if
- you have enough available; otherwise a temporary disk file is used.
- The speed of textsafe=save will be acceptable on some machines but
- not others. The speed depends on:
- o Cpu and video adapter speed.
- o Whether enough expanded or extended memory is available.
- o Video mode of image being remembered. A few special modes are
- *very* slow compared to the rest. The slow ones are: 2 and 4 color
- modes with resolution higher than 640x480; custom modes for ATI
- EGA Wonder, Paradise EGA-480, STB, Compaq portable 386, AT&T 6300,
- and roll-your-own video modes implemented with customized
- "yourvid.c" code.
- If you want to tune Fractint to use different "textsafe" options for
- different video modes, see "Customized Video Modes, FRACTINT.CFG"
- (p. 115). (E.g. you might want to use the slower textsafe=save approach
- just for a few high-resolution modes which have problems with
- textsafe=yes.)
-
- Fractint Version 18.2 Page 103
-
- EXITMODE=nn
- Sets the bios-supported videomode to use upon exit to the specified
- value. nn is in hexadecimal. The default is 3, which resets to 80x25
- color text mode on exit. With Hercules Graphics Cards, and with
- monochrome EGA systems, the exit mode is always 7 and is unaffected by
- this parameter.
-
- TPLUS=yes|no
- For TARGA+ adapters. Setting this to 'no' pretends a TARGA+ is NOT
- installed.
-
- NONINTERLACED=yes|no
- For TARGA+ adapters. Setting this to 'yes' will configure the adapter to
- a non-interlaced mode whenever possible. It should only be used with a
- multisynch monitor. The default is no, i.e. interlaced.
-
- MAXCOLORRES=8|16|24
- For TARGA+ adapters. This determines the number of bits to use for color
- resolution. 8 bit color is equivalent to VGA color resolution. The 16
- and 24 bit color resolutions are true color video modes which are not
- yet supported by Fractint but are hopefully coming soon.
-
- PIXELZOOM=0|1|2|3
- For TARGA+ adapters. Lowers the video mode resolution by powers of 2.
- For example, the 320x200 video resolution on the TARGA+ is actually the
- 640x400 video mode with a pixel zoom of 1. Using the 640x400 video mode
- with a zoom of 3 would lower the resolution by 8, which is 2 raised to
- the 3rd power, for a full screen resolution of 80x50 pixels.
-
- VIEWWINDOWS=xx[/xx[/yes|no[/nn[/nn]]]] Set the reduction factor, final
- media aspect ratio, crop starting coordinates (y/n), explicit x size,
- and explicit y size, see "View Window" (p. 26).
-
-
- 5.13 Sound Parameters
-
- SOUND=off|x|y|z
- We're all MUCH too busy to waste time with Fractint at work, and no
- doubt you are too, so "sound=off" is included only for use at home, to
- avoid waking the kids or your Significant Other, late at night. (By the
- way, didn't you tell yourself "just one more zoom on LambdaSine" an hour
- ago?) Suggestions for a "boss" hot-key will be cheerfully ignored, as
- this sucker is getting big enough without including a spreadsheet screen
- too. The "sound=x/y/x" options are for the "attractor" fractals, like
- the Lorenz fractals - they play with the sound on your PC speaker as
- they are generating an image, based on the X or Y or Z co-ordinate they
- are displaying at the moment. At the moment, "sound=x" (or y or z)
- really doesn't work very well when using an integer algorithm - try it
- with the floating-point toggle set, instead.
-
- The scope of the sound command has been extended. You can now hear the
- sound of fractal orbits--just turn on sound from the command line or the
- <X> menu, fire up a fractal, and try the <O>rbits command. Use the
- orbitdelay=<nnn> command (also on the <X> menu) to dramatically alter
- the effect, which ranges from an unearthly scream to a series of
- discrete tones. Not recommended when people you have to live with are
-
- Fractint Version 18.2 Page 104
-
- nearby! Remember, we don't promise that it will sound beautiful!
-
- You can also "hear" any image that Fractint can decode; turn on sound
- before using <R> to read in a GIF file. We have no idea if this feature
- is useful. It was inspired by the comments of an on-line friend who is
- blind. We solicit feedback and suggestions from anyone who finds these
- sound features interesting or useful. The orbitdelay command also
- affects the sound of decoding images.
-
- HERTZ=nnn
- Adjusts the sound produced by the "sound=x/y/z" option. Legal values
- are 200 through 10000.
-
-
- 5.14 Printer Parameters
-
- PRINTER=type[/resolution[/port#]]
- Defines your printer setup. The SSTOOLS.INI file is a REAL handy place
- to put this option, so that it's available whenever you have that
- sudden, irresistible urge for hard copy.
- Printer types:
- IB IBM-compatible (default)
- EP Epson-compatible
- HP LaserJet
- CO Star Micronics Color printer, supposedly Epson-color-compatible
- PA Paintjet
- PS PostScript
- PSL Postscript, landscape mode
- PL Plotter using HP-GL
- Resolution:
- In dots per inch.
- Epson/IBM: 60, 120, 240
- LaserJet: 75, 150, 300
- PaintJet: 90, 180
- PostScript: 10 through 600, or special value 0 to print full page to
- within about .4" of the edges (in portrait mode, width is full page and
- height is adjusted to 3:4 aspect ratio)
- Plotter: 1 to 10 for 1/Nth of page (e.g. 2 for 1/2 page)
- Port:
- 1, 2, 3 for LPT1-3 via BIOS
- 11, 12, 13, 14 for COM1-4 via BIOS
- 21, 22 for LPT1 or LPT2 using direct port access (faster when it works)
- 31, 32 for COM1 or COM2 using direct port access
-
- COMPORT=port/baud/options
- Serial printer port initialization.
- Port=1,2,3,etc.
- Baud=115,150,300,600,1200,2400,4800,9600
- Options: 7,8 | 1,2 | e,n,o (any order).
- Example: comport=1/9600/n81 for COM1 set to 9600, no parity, 8 bits per
- character, 1 stop bit.
-
- LINEFEED=crlf|lf|cr
- Specifies the control characters to emit at end of each line: carriage
- return and linefeed, just linefeed, or just carriage return. The
- default is crlf.
-
- Fractint Version 18.2 Page 105
-
- TITLE=yes
- If specified, title information is added to printouts.
-
- PRINTFILE=filename
- Causes output data for the printer to be written to the named file on
- disk instead of to a printer port. The filename is incremented by 1 each
- time an image is printed - e.g. if the name is FRAC01.PRN, the second
- print operation writes to FRAC02.PRN, etc. Existing files are not
- overwritten - if the file exists, the filename is incremented to a new
- name.
-
-
- 5.15 PostScript Parameters
-
- EPSF=1|2|3
- Forces print-to-file and PostScript. If PRINTFILE is not specified, the
- default filename is FRACT001.EPS. The number determines how 'well-
- behaved' a .EPS file is. 1 means by-the-book. 2 allows some EPS 'no-nos'
- like settransfer and setscreen - BUT includes code that should make the
- code still work without affecting the rest of the non-EPS document. 3 is
- a free-for-all.
-
- COLORPS=YES|NO - Enable or disable the color extensions.
-
- RLEPS=YES|NO
- Enable or disable run length encoding of the PostScript file. Run
- length encoding will make the PostScript file much smaller, but it may
- take longer to print. The run length encoding code is based on pnmtops,
- which is copyright (C) 1989 by Jef Poskanzer, and carries the following
- notice: "Permission to use, copy, modify, and distribute this software
- and its documentation for any purpose and without fee is hereby granted,
- provided that the above copyright notice appear in all copies and that
- both that copyright notice and this permission notice appear in
- supporting documentation. This software is provided "as is" without
- express or implied warranty."
-
- TRANSLATE=yes|-n|n
- Translate=yes prints the negative image of the fractal. Translate=n
- reduces the image to that many colors. A negative value causes a color
- reduction as well as a negative image.
-
- HALFTONE=frq/ang/sty[/f/a/s/f/a/s/f/a/s]
- Tells the PostScript printer how to define its halftone screen. The
- first value, frequency, defines the number of halftone lines per inch.
- The second chooses the angle (in degrees) that the screen lies at. The
- third option chooses the halftone 'spot' style. Good default frequencies
- are between 60 and 80; Good default angles are 45 and 0; the default
- style is 0. If the halftone= option is not specified, Fractint will
- print using the printer's default halftone screen, which should have
- been already set to do a fine job on the printer.
-
- These are the only three used when colorps=no. When color PS printing is
- being used, the other nine options specify the red, green, then blue
- screens. A negative number in any of these places will cause it to use
- the previous (or default) value for that parameter. NOTE: Especially
- when using color, the built-in screens in the printer's ROM may be the
-
- Fractint Version 18.2 Page 106
-
- best choice for printing.
- The default values are as follows:
- halftone=45/45/1/45/75/1/45/15/1/45/0/1 and these will be used if
- Fractint's halftone is chosen over the printer's built-in screen.
-
- Current halftone styles:
- 0 Dot
- 1 Dot (Smoother)
- 2 Dot (Inverted)
- 3 Ring (Black)
- 4 Ring (White)
- 5 Triangle (Right)
- 6 Triangle (Isosceles)
- 7 Grid
- 8 Diamond
- 9 Line
- 10 Microwaves
- 11 Ellipse
- 12 Rounded Box
- 13 Custom
- 14 Star
- 15 Random
- 16 Line (slightly different)
-
- A note on device-resolution black and white printing
- ----------------------------------------------------
-
- This mode of printing can now be done much more quickly, and takes a lot
- less file space. Just set EPSF=0 PRINTER=PSx/nnn COLORPS=NO RLEPS=YES
- TRANSLATE=m, where x is P or L for portrait/landscape, nnn is your
- printer's resolution, m is 2 or -2 for positive or negative printing
- respectively. This combination of parameters will print exactly one
- printer pixel per each image pixel and it will keep the proportions of
- the picture, if both your screen and printer have square pixels (or the
- same pixel-aspect). Choose a proper (read large) window size to fill as
- much of the paper as possible for the most spectacular results. 2048 by
- 2048 is barely enough to fill the width of a letter size page with 300
- dpi printer resolution. For higher resolution printers, you will wish
- fractint supported larger window sizes (hint, hint...). Bug reports
- and/or suggestions should be forwarded to Yavuz Onder (post to
- sci.fractals, no e-mail yet).
-
- A word from the author (Scott Taylor)
- -------------------------------------
-
- Color PostScript printing is new to me. I don't even have a color
- printer to test it on. (Don't want money. Want a Color PostScript
- printer!) The initial tests seem to have worked. I am still testing and
- don't know whether or not some sort of gamma correction will be needed.
- I'll have to wait and see about that one.
-
- Fractint Version 18.2 Page 107
-
- 5.16 PaintJet Parameters
-
- Note that the pixels printed by the PaintJet are square. Thus, a
- printout of an image created in a video mode with a 4:3 pixel ratio
- (such as 640x480 or 800x600) will come out matching the screen; other
- modes (such as 320x200) will come out stretched.
-
- Black and white images, or images using the 8 high resolution PaintJet
- colors, come out very nicely. Some images using the full spectrum of
- PaintJet colors are very nice, some are disappointing.
-
- When 180 dots per inch is selected (in PRINTER= command), high
- resolution 8 color printing is done. When 90 dpi is selected, low
- resolution printing using the full 330 dithered color palette is done.
- In both cases, Fractint starts by finding the nearest color supported by
- the PaintJet for each color in your image. The translation is then
- displayed (unless the current display mode is disk video). This display
- *should* be a fairly good match to what will be printed - it won't be
- perfect most of the time but should give some idea of how the output
- will look. At this point you can <Enter> to go ahead and print, <Esc>
- to cancel, or <k> to cancel and keep the adjusted colors.
-
- Note that you can use the color map PAINTJET.MAP to create images which
- use the 8 high resolution colors available on the PaintJet. Also, two
- high-resolution disk video modes are available for creating full page
- images.
-
- If you find that the preview image seems very wrong (doesn't match what
- actually gets printed) or think that Fractint could be doing a better
- job of picking PaintJet colors to match your image's colors, you can try
- playing with the following parameter. Fair warning: this is a very
- tricky business and you may find it a very frustrating business trying
- to get it right.
-
- HALFTONE=r/g/b
- (The parameter name is not appropriate - we appropriated a PostScript
- parameter for double duty here.)
- This separately sets the "gamma" adjustment for each of the red, green,
- and blue color components. Think of "gamma" as being like the contrast
- adjustment on your screen. Higher gamma values for all three components
- results in colors with more contrast being produced on the printer.
- Since each color component can have its gamma separately adjusted, you
- can change the resulting color mix subtly (or drastically!)
- Each gamma value entered has one implied decimal digit.
- The default is "halftone=21/19/16", for red 2.1, green 1.9, and blue
- 1.6. (A note from Pieter Branderhorst: I wrote this stuff to come out
- reasonably on my monitor/printer. I'm a bit suspicious of the guns on
- my monitor; if the colors seem ridiculously wrong on your system you
- might start by trying halftone=17/17/17.)
-
- Fractint Version 18.2 Page 108
-
- 5.17 Plotter Parameters
-
- Plotters which understand HP-GL commands are supported. To use a
- plotter, draw a SMALL image (32x20 or 64x40) using the <v>iew screen
- options. Put a red pen in the first holder in the plotter, green in the
- second, blue in the third. Now press <P> to start plotting. Now get a
- cup of coffee... or two... or three. It'll take a while to plot.
- Experiment with different resolutions, plot areas, plotstyles, and even
- change pens to create weird-colored images.
-
- PLOTSTYLE=0|1|2
- 0: 3 parallel lines (red/green/blue) are drawn for each pixel, arranged
- like "///". Each bar is scaled according to the intensity of the
- corresponding color in the pixel. Using different pen colors (e.g.
- blue, green, violet) can come out nicely. The trick is to not tell
- anyone what color the bars are supposed to represent and they will
- accept these plotted colors because they do look nice...
- 1: Same as 0, but the lines are also twisted. This removes some of the
- 'order' of the image which is a nice effect. It also leaves more
- whitespace making the image much lighter, but colors such as yellow
- are actually visible.
- 2: Color lines are at the same angle and overlap each other. This type
- has the most whitespace. Quality improves as you increase the number
- of pixels squeezed into the same size on the plotter.
-
-
- 5.18 3D Parameters
-
- To stay out of trouble, specify all the 3D parameters, even if you want
- to use what you think are the default values. It takes a little practice
- to learn what the default values really are. The best way to create a
- set of parameters is to use the <B> command on an image you like and
- then use an editor to modify the resulting parameter file.
-
- 3D=Yes
- 3D=Overlay
- Resets all 3d parameters to default values. If FILENAME= is given,
- forces a restore to be performed in 3D mode (handy when used with
- 'batch=yes' for batch-mode 3D images). If specified, 3D=Yes should come
- before any other 3d parameters on the command line or in a parameter
- file entry. The form 3D=Overlay is identical except that the previous
- graphics screen is not cleared, as with the <#> (<shift-3> on some
- keyboards) overlay command. Useful for building parameter files that
- use the 3D overlay feature.
-
- The options below override the 3D defaults:
- PREVIEW=yes Turns on 3D 'preview' default mode
- SHOWBOX=yes Turns on 3D 'showbox' default mode
- COARSE=nn Sets Preview 'coarseness' default value
- SPHERE=yes Turns on spherical projection mode
- STEREO=n Selects the type of stereo image creation
- RAY=nnn selects raytrace output file format
- BRIEF=yes selects brief or verbose file for DKB output
-
- Fractint Version 18.2 Page 109
-
- INTEROCULAR=nn Sets the interocular distance for stereo
- CONVERGE=nn Determines the overall image separation
- CROP=nn/nn/nn/nn Trims the edges off stereo pairs
- BRIGHT=nn/nn Compensates funny glasses filter parameters
- LONGITUDE=nn/nn Longitude minimum and maximum
- LATITUDE=nn/nn Latitude minimum and maximum
- RADIUS=nn Radius scale factor
- ROTATION=nn[/nn[/nn]] Rotation about x,y, and z axes
- SCALEZYZ=nn/nn/nn X,y,and z scale factors
- ROUGHNESS=nn Same as z scale factor
- WATERLINE=nn Colors nn and below will be "inside" color
- FILLTYPE=nn 3D filltype
- PERSPECTIVE=nn Perspective distance
- XYSHIFT=nn/nn Shift image in x and y directions with
- perspective
- LIGHTSOURCE=nn/nn/nn Coordinates for light-source vector
- SMOOTHING=nn Smooths images in light-source fill modes
- TRANSPARENT=min/max Defines a range of colors to be treated as
- "transparent" when <#>Overlaying 3D images.
- XYADJUST=nn/nn This shifts the image in the x/y dir without
- perspective
-
- Below are new commands as of version 14 that support Marc Reinig's
- terrain features.
-
- RANDOMIZE=nnn (0 - 100)
- This feature randomly varies the color of a pixel to near by colors.
- Useful to minimize map banding in 3d transformations. Usable with all
- FILLTYPES. 0 disables, max values is 7. Try 3 - 5.
-
- AMBIENT=nnn (0 - 100)
- Set the depth of the shadows when using full color and light source
- filltypes. "0" disables the function, higher values lower the contrast.
-
- FULLCOLOR=yes
- Valid with any light source FILLTYPE. Allows you to create a Targa-24
- file which uses the color of the image being transformed or the map you
- select and shades it as you would see it in real life. Well, its better
- than B&W. A good map file to use is topo
-
- HAZE=nnn (0 - 100)
- Gives more realistic terrains by setting the amount of haze for distant
- objects when using full color in light source FILLTYPES. Works only in
- the "y" direction currently, so don't use it with much y rotation. Try
- "rotation=85/0/0". 0 disables.
-
- LIGHTNAME=<filename>
- The name of the Targa-24 file to be created when using full color with
- light source. Default is light001.tga. If overwrite=no (the default),
- the file name will be incremented until an unused filename is found.
- Background in this file will be sky blue.
-
- Fractint Version 18.2 Page 110
-
- 5.19 Batch Mode
-
- It IS possible, believe it or not, to become so jaded with the screen
- drawing process, so familiar with the types and options, that you just
- want to hit a key and do something else until the final images are safe
- on disk. To do this, start Fractint with the BATCH=yes parameter. To
- set up a batch run with the parameters required for a particular image
- you might:
- o Find an interesting area. Note the parameters from the <Tab>
- display. Then use an editor to write a batch file.
- o Find an interesting area. Set all the options you'll want in the
- batch run. Use the <B> command to store the parameters in a file.
- Then use an editor to add the additional required batch mode
- parameters (such as VIDEO=) to the generated parameter file entry.
- Then run the batch using "fractint @myname.par/myentry" (if you told
- the <B> command to use file "myname" and to name the entry
- "myentry").
-
- Another approach to batch mode calculations, using "FILENAME=" and
- resume, is described later.
-
- When modifying a parameter file entry generated by the <B> command, the
- only parameters you must add for a batch mode run are "BATCH=yes", and
- "VIDEO=xxx" to select a video mode. You might want to also add
- "SAVENAME=[name]" to name the result as something other than the default
- FRACT001.GIF. Or, you might find it easier to leave the generated
- parameter file unchanged and add these parameters by using a command
- like:
- fractint @myname.par/myentry batch=y video=AF3 savename=mygif
-
- "BATCH=yes" tells Fractint to run in batch mode -- that is, Fractint
- draws the image using whatever other parameters you specified, then acts
- as if you had hit <S> to save the image, then exits to DOS.
-
- "FILENAME=" can be used with "BATCH=yes" to resume calculation of an
- incomplete image. For instance, you might interactively find an image
- you like; then select some slow options (a high resolution disk video
- mode, distance estimator method, high maxiter, or whatever); start the
- calculation; then interrupt immediately with a <S>ave. Rename the save
- file (fract001.gif if it is the first in the session and you didn't name
- it with the <X> options or "savename=") to xxx.gif. Later you can run
- Fractint in batch mode to finish the job:
- fractint batch=yes filename=xxx savename=xxx
-
- "SAVETIME=nnn" is useful with long batch calculations, to store a
- checkpoint every nnn minutes. If you start a many hour calculation with
- say "savetime=60", and a power failure occurs during the calculation,
- you'll have lost at most an hour of work on the image. You can resume
- calculation from the save file as above. Automatic saves triggered by
- SAVETIME do not increment the save file name. The same file is
- overwritten by each auto save until the image completes. But note that
- Fractint does not directly over-write save files. Instead, each save
- operation writes a temporary file FRACTINT.TMP, then deletes the prior
- save file, then renames FRACTINT.TMP to be the new save file. This
- protects against power failures which occur during a save operation - if
- such a power failure occurs, the prior save file is intact and there's a
-
- Fractint Version 18.2 Page 111
-
- harmless incomplete FRACTINT.TMP on your disk.
-
- If you want to spread a many-hour image over multiple bits of free
- machine time you could use a command like:
- fractint batch=yes filename=xxx savename=xxx savetime=60 video=F3
- While this batch is running, hit <S> (almost any key actually) to tell
- fractint to save what it has done so far and give your machine back. A
- status code of 2 is returned by fractint to the batch file. Kick off
- the batch again when you have another time slice for it.
-
- While running a batch file, pressing any key will cause Fractint to exit
- with an errorlevel = 2. Any error that interrupts an image save to disk
- will cause an exit with errorlevel = 2. Any error that prevents an
- image from being generated will cause an exit with errorlevel = 1.
-
- The SAVETIME= parameter, and batch resumes of partial calculations, only
- work with fractal types which can be resumed. See "Interrupting and
- Resuming" (p. 25) for information about non-resumable types.
-
- Fractint Version 18.2 Page 112
-
- 6. Hardware Support
-
-
- 6.1 Notes on Video Modes, "Standard" and Otherwise
-
- True to the spirit of public-domain programming, Fractint makes only a
- limited attempt to verify that your video adapter can run in the mode
- you specify, or even that an adapter is present, before writing to it.
- So if you use the "video=" command line parameter, check it before using
- a new version of Fractint - the old key combo may now call an
- ultraviolet holographic mode.
-
- EGA
-
- Fractint assumes that every EGA adapter has a full 256K of memory (and
- can therefore display 640 x 350 x 16 colors), but does nothing to verify
- that fact before slinging pixels.
-
- "TWEAKED" VGA MODES
-
- The IBM VGA adapter is a highly programmable device, and can be set up
- to display many video-mode combinations beyond those "officially"
- supported by the IBM BIOS. E.g. 320x400x256 and 360x480x256 (the latter
- is one of our favorites). These video modes are perfectly legal, but
- temporarily reprogram the adapter (IBM or fully register-compatible) in
- a non-standard manner that the BIOS does not recognize.
-
- Fractint also contains code that sets up the IBM (or any truly register-
- compatible) VGA adapter for several extended modes such as 704x528,
- 736x552, 768x576, and 800x600. It does this by programming the VGA
- controller to use the fastest dot-clock on the IBM adapter (28.322 MHz),
- throwing more pixels, and reducing the refresh rate to make up for it.
-
- These modes push many monitors beyond their rated specs, in terms of
- both resolution and refresh rate. Signs that your monitor is having
- problems with a particular "tweaked" mode include:
- o vertical or horizontal overscan (displaying dots beyond the edges of
- your visible CRT area)
- o flickering (caused by a too-slow refresh rate)
- o vertical roll or total garbage on the screen (your monitor simply
- can't keep up, or is attempting to "force" the image into a pre-set
- mode that doesn't fit).
-
- We have successfully tested the modes up to 768x576 on an IBM PS/2 Model
- 80 connected to IBM 8513, IBM 8514, NEC Multisync II, and Zenith 1490
- monitors (all of which exhibit some overscan and flicker at the highest
- rates), and have tested 800x600 mode on the NEC Multisync II (although
- it took some twiddling of the vertical-size control).
-
- SUPER-EGA AND SUPER-VGA MODES
-
- Since version 12.0, we've used both John Bridges' SuperVGA Autodetecting
- logic *and* VESA adapter detection, so that many brand-specific SuperVGA
- modes have been combined into single video mode selection entries.
- There is now exactly one entry for SuperVGA 640x480x256 mode, for
- instance.
-
- Fractint Version 18.2 Page 113
-
- If Fractint's automatic SuperVGA/VESA detection logic guesses wrong, and
- you know which SuperVGA chipset your video adapter uses, you can use the
- "adapter=" command-line option to force Fractint to assume the presence
- of a specific SuperVGA Chipset - see Video Parameters (p. 101) for
- details.
-
- 8514/A MODES
-
- The IBM 8514/A modes (640x480 and 1024x768) default to using the
- hardware registers. If an error occurs when trying to open the adapter,
- an attempt will be made to use IBM's software interface, and requires
- the preloading of IBM's HDILOAD TSR utility.
-
- The Adex 1280x1024 modes were written for and tested on an Adex
- Corporation 8514/A using a Brooktree DAC. The ATI GU 800x600x256 and
- 1280x1024x16 modes require a ROM bios version of 1.3 or higher for
- 800x600 and 1.4 or higher for 1280x1024.
-
- There are two sets of 8514/A modes: full sets (640x480, 800x600,
- 1024x768, 1280x1024) which cover the entire screen and do NOT have a
- border color (so that you cannot tell when you are "paused" in a color-
- cycling mode), and partial sets (632x474, 792x594, 1016x762, 1272x1018)
- with small border areas which do turn white when you are paused in
- color-cycling mode. Also, while these modes are declared to be 256-
- color, if you do not have your 8514/A adapter loaded with its full
- complement of memory you will actually be in 16-color mode. The hardware
- register 16-color modes have not been tested.
-
- If your 8514/A adapter is not truly register compatible and Fractint
- does not detect this, use of the adapter interface can be forced by
- using afi=y or afi=8514 in your SSTOOLS.INI file.
-
- Finally, because IBM's adapter interface does not handle drawing single
- pixels very well (we have to draw a 1x1 pixel "box"), generating the
- zoom box when using the interface is excruciatingly slow. Still, it
- works!
-
- XGA MODES
-
- The XGA adapter is supported using the VESA/SuperVGA Autodetect modes -
- the XGA looks like just another SuperVGA adapter to Fractint. The
- supported XGA modes are 640x480x256, 1024x768x16, 1024x768x256,
- 800x600x16, and 800x600x256. Note that the 1024x768x256 mode requires a
- full 1MB of adapter memory, the 1024x768 modes require a high-rez
- monitor, and the 800x600 modes require a multisynching monitor such as
- the NEC 2A.
-
- TARGA MODES
-
- TARGA support for Fractint is provided courtesy of Joe McLain and has
- been enhanced with the help of Bruce Goren and Richard Biddle. To use a
- TARGA board with Fractint, you must define two DOS environment
- variables, "TARGA" and "TARGASET". The definition of these variables is
- standardized by Truevision; if you have a TARGA board you probably
- already have added "SET" statements for these variables to your
- AUTOEXEC.BAT file. Be aware that there are a LOT of possible TARGA
-
- Fractint Version 18.2 Page 114
-
- configurations, and a LOT of opportunities for a TARGA board and a VGA
- or EGA board to interfere with each other, and we may not have all of
- them smoothed away yet. Also, the TARGA boards have an entirely
- different color-map scheme than the VGA cards, and at the moment they
- cannot be run through the color-cycling menu. The "MAP=" argument (see
- Color Parameters (p. 96)), however, works with both TARGA and VGA
- boards and enables you to redefine the default color maps with either
- board.
-
- TARGA+ MODES
-
- To use the special modes supported for TARGA+ adapters, the TARGAP.SYS
- device driver has to be loaded, and the TPLUS.DAT file (included with
- Fractint) must be in the same directory as Fractint. The video modes
- with names containing "True Color Autodetect" can be used with the
- Targa+. You might want to use the command line parameters "tplus=",
- "noninterlaced=", "maxcolorres=", and "pixelzoom=" (see Video Parameters
- (p. 101)) in your SSTOOLS.INI file to modify Fractint's use of the
- adapter.
-
-
- 6.2 "Disk-Video" Modes
-
- These "video modes" do not involve a video adapter at all. They use (in
- order or preference) your expanded memory, your extended memory, or your
- disk drive (as file FRACTINT.$$$) to store the fractal image. These
- modes are useful for creating images beyond the capacity of your video
- adapter right up to the current internal limit of 2048 x 2048 x 256,
- e.g. for subsequent printing. They're also useful for background
- processing under multi-tasking DOS managers - create an image in a disk-
- video mode, save it, then restore it in a real video mode.
-
- While you are using a disk-video mode, your screen will display text
- information indicating whether memory or your disk drive is being used,
- and what portion of the "screen" is being read from or written to. A
- "Cache size" figure is also displayed. 64K is the maximum cache size.
- If you see a number less than this, it means that you don't have a lot
- of memory free, and that performance will be less than optimum. With a
- very low cache size such as 4 or 6k, performance gets considerably worse
- in cases using solid guessing, boundary tracing, plasma, or anything
- else which paints the screen non-linearly. If you have this problem,
- all we can suggest is having fewer TSR utilities loaded before starting
- Fractint, or changing in your config.sys file, such as reducing a very
- high BUFFERS value.
-
- The zoom box is disabled during disk-video modes (you couldn't see where
- it is anyway). So is the orbit display feature.
-
- Color Cycling (p. 16) can be used during disk-video modes, but only to
- load or save a color palette.
-
- When using real disk for your disk-video, Fractint will not generate
- some "attractor" types (e.g. lorenz) nor "IFS" images. These would kill
- your disk drive. Boundary tracing is allowed - it may give your drive a
- bit of a workout, but is generally tolerable.
-
- Fractint Version 18.2 Page 115
-
- When using a real disk, and you are not directing the file to a RAM
- disk, and you aren't using a disk caching program on your machine,
- specifying BUFFERS=10 (or more) in your config.sys file is best for
- performance. BUFFERS=10,2 or even BUFFERS=10,4 is also good. It is
- also best to keep your disk relatively "compressed" (or "defragmented")
- if you have a utility to do this.
-
- In order to use extended memory, you must have HIMEM.SYS or an
- equivalent that supports the XMS 2.0 standard or higher. Also, you
- can't have a VDISK installed in extended memory. Himem.sys is
- distributed with Microsoft Windows 286/386 and 3.0. If you have
- problems using the extended memory, try rebooting with just himem.sys
- loaded and see if that clears up the problem.
-
- If you are running background disk-video fractals under Windows 3, and
- you don't have a lot of real memory (over 2Mb), you might find it best
- to force Fractint to use real disk for disk-video modes. (Force this by
- using a .pif file with extended memory and expanded memory set to zero.)
- Try this if your disk goes crazy when generating background images,
- which are supposedly using extended or expanded memory. This problem
- can occur because, to multi-task, sometimes Windows must page an
- application's expanded or extended memory to disk, in big chunks.
- Fractint's own cached disk access may be faster in such cases.
-
-
- 6.3 Customized Video Modes, FRACTINT.CFG
-
- If you have a favorite adapter/video mode that you would like to add to
- Fractint... if you want some new sizes of disk-video modes... if you
- want to remove table entries that do not apply to your system... if you
- want to specify different "textsafe=" options for different video
- modes... relief is here, and without even learning "C"!
-
- You can do these things by modifying the FRACTINT.CFG file with your
- text editor. Saving a backup copy of FRACTINT.CFG first is of course
- highly recommended!
-
- Fractint uses a video adapter table for most of what it needs to know
- about any particular adapter/mode combination. The table is loaded from
- FRACTINT.CFG each time Fractint is run. It can contain information for
- up to 300 adapter/mode combinations. The table entries, and the function
- keys they are tied to, are displayed in the "select video mode" screen.
-
- This table makes adding support for various third-party video cards and
- their modes much easier, at least for the ones that pretend to be
- standard with extra dots and/or colors. There is even a special "roll-
- your-own" video mode (mode 19) enabling those of you with "C" compilers
- and a copy of the Fractint source to generate video modes supporting
- whatever adapter you may have.
-
- The table as currently distributed begins with nine standard and several
- non-standard IBM video modes that have been exercised successfully with
- a PS/2 model 80. These entries, coupled with the descriptive comments in
- the table definition and the information supplied (or that should have
- been supplied!) with your video adapter, should be all you need to add
- your own entries.
-
- Fractint Version 18.2 Page 116
-
- After the IBM and quasi-pseudo-demi-IBM modes, the table contains an
- ever-increasing number of entries for other adapters. Almost all of
- these entries have been added because someone like you sent us spec
- sheets, or modified Fractint to support them and then informed us about
- it.
-
- Lines in FRACTINT.CFG which begin with a semi-colon are treated as
- comments. The rest of the lines must have eleven fields separated by
- commas. The fields are defined as:
-
- 1. Key assignment. F2 to F10, SF1 to SF10, CF1 to CF10, or AF1 to AF10.
- Blank if no key is assigned to the mode.
- 2. The name of the adapter/video mode (25 chars max, no leading blanks).
- The adapter is set up for that mode via INT 10H, with:
- 3. AX = this,
- 4. BX = this,
- 5. CX = this, and
- 6. DX = this (hey, having all these registers wasn't OUR idea!)
- 7. An encoded value describing how to write to your video memory in that
- mode. Currently available codes are:
- 1) Use the BIOS (INT 10H, AH=12/13, AL=color) (last resort - SLOW!)
- 2) Pretend it's a (perhaps super-res) EGA/VGA
- 3) Pretend it's an MCGA
- 4) SuperVGA 256-Color mode using the Tseng Labs chipset
- 5) SuperVGA 256-Color mode using the Paradise chipset
- 6) SuperVGA 256-Color mode using the Video-7 chipset
- 7) Non-Standard IBM VGA 360 x 480 x 256-Color mode
- 8) SuperVGA 1024x768x16 mode for the Everex chipset
- 9) TARGA video modes
- 10) HERCULES video mode
- 11) Non-Video, i.e. "disk-video"
- 12) 8514/A video modes
- 13) CGA 320x200x4-color and 640x200x2-color modes
- 14) Reserved for Tandy 1000 video modes
- 15) SuperVGA 256-Color mode using the Trident chipset
- 16) SuperVGA 256-Color mode using the Chips & Tech chipset
- 17) SuperVGA 256-Color mode using the ATI VGA Wonder chipset
- 18) SuperVGA 256-Color mode using the EVEREX chipset
- 19) Roll-your-own video mode (as you've defined it in YOURVID.C)
- 20) SuperVGA 1024x768x16 mode for the ATI VGA Wonder chipset
- 21) SuperVGA 1024x768x16 mode for the Tseng Labs chipset
- 22) SuperVGA 1024x768x16 mode for the Trident chipset
- 23) SuperVGA 1024x768x16 mode for the Video 7 chipset
- 24) SuperVGA 1024x768x16 mode for the Paradise chipset
- 25) SuperVGA 1024x768x16 mode for the Chips & Tech chipset
- 26) SuperVGA 1024x768x16 mode for the Everex Chipset
- 27) SuperVGA Auto-Detect mode (we poke around looking for your adapter)
- 28) VESA modes
- 29) True Color Auto-Detect (currently only Targa+ supported)
- Add 100, 200, 300, or 400 to this code to specify an over-ride "textsafe="
- option to be used with the mode. 100=yes, 200=no, 300=bios, 400=save.
- E.g. 428 for a VESA mode with textsafe=save forced.
- 8. The number of pixels across the screen (X - 160 to 2048)
- 9. The number of pixels down the screen (Y - 160 to 2048)
- 10. The number of available colors (2, 4, 16, or 256)
- 11. A comment describing the mode (25 chars max, leading blanks are OK)
-
- Fractint Version 18.2 Page 117
-
- NOTE that the AX, BX, CX, and DX fields use hexadecimal notation
- (fifteen ==> 'f', sixteen ==> '10'), because that's the way most adapter
- documentation describes it. The other fields use standard decimal
- notation.
-
- If you look closely at the default entries, you will notice that the IBM
- VGA entries labeled "tweaked" and "non standard" have entries in the
- table with AX = BX = CX = 0, and DX = some other number. Those are
- special flags that we used to tell the program to custom-program the VGA
- adapter, and are NOT undocumented BIOS calls. Maybe they should be, but
- they aren't.
-
- If you have a fancy adapter and a new video mode that works on it, and
- it is not currently supported, PLEASE GET THAT INFORMATION TO US! We
- will add the video mode to the list on our next release, and give you
- credit for it. Which brings up another point: If you can confirm that a
- particular video adapter/mode works (or that it doesn't), and the
- program says it is UNTESTED, please get that information to us also.
- Thanks in advance!
-
- Fractint Version 18.2 Page 118
-
- 7. Common Problems
-
- Of course, Fractint would never stoop to having a "common" problem.
- These notes describe some, ahem, "special situations" which come up
- occasionally and which even we haven't the gall to label as "features".
-
- Hang during startup:
- There might be a problem with Fractint's video detection logic and
- your particular video adapter. Try running with "fractint adapter=xxx"
- where xxx is cga, ega, egamono, mcga, or vga. If "adapter=vga" works,
- and you really have a SuperVGA adapter capable of higher video modes,
- there are other "adapter=" options for a number of SuperVGA chipsets -
- please see the full selection in Video Parameters (p. 101) for
- details. If this solves the problem, create an SSTOOLS.INI file with
- the "adapter=xxx" command in it so that the fix will apply to every
- run.
- Another possible cause: If you install the latest Fractint in say
- directory "newfrac", then run it from another directory with the
- command "\newfrac\fractint", *and* you have an older version of
- fractint.exe somewhere in your DOS PATH, a silent hang is all you'll
- get. See the notes under the "Cannot find FRACTINT.EXE message"
- problem for the reason.
- Another possibility: try one of the "textsafe" parameter choices
- described in Video Parameters (p. 101).
-
- Scrambled image when returning from a text mode display:
- If an image which has been partly or completely generated gets partly
- destroyed when you return to it from the menu, help, or the
- information display, please try the various "textsafe" parameter
- options - see Video Parameters (p. 101) for details. If this cures
- the problem, create an SSTOOLS.INI file with the "textsafe=xxx"
- command so that the fix will apply to every run.
-
- "Holes" in an image while it is being drawn:
- Little squares colored in your "inside" color, in a pattern of every
- second square of that size, in solid guessing mode, both across and
- down (i.e., 1 out of 4), are a symptom of an image which should be
- calculated with more conservative periodicity checking than the
- default. See the Periodicity parameter under Image Calculation
- Parameters (p. 94).
-
- Black bar at top of screen during color cycling on 8086/8088 machines:
- (This might happen intermittently, not every run.)
- "fractint cyclelimit=10" might cure the problem. If so, increase the
- cyclelimit value (try increasing by 5 or 10 each time) until the
- problem reappears, then back off one step and add that cyclelimit
- value to your SSTOOLS.INI file.
-
- Other video problems:
-
- If you are using a VESA driver with your video adapter, the first
- thing to try is the "vesadetect=no" parameter. If that fixes the
- problem, add it to your SSTOOLS.INI file to make the fix permanent.
-
- Fractint Version 18.2 Page 119
-
- It may help to explicitly specify your type of adapter - see the
- "adapter=" parameter in Video Parameters (p. 101).
-
- We've had one case where a video driver for Windows does not work
- properly with Fractint. If running under Windows, DesqView, or some
- other layered environment, try running Fractint directly from DOS to
- see if that avoids the problem.
- We've also had one case of a problem co-existing with "386 to the
- Max".
-
- We've had one report of an EGA adapter which got scrambled images in
- all modes until "textsafe=no" was used (see Video Parameters (p. 101)
- ).
-
- Also, see Video Adapter Notes (p. 112) for information about enhanced
- video modes - Fractint makes only limited attempts to verify that a
- video mode you request is actually supported by your adapter.
-
- Other Hangs and Strange Behavior:
- We've had some problems (hangs and solid beeps) on an FPU equipped
- machine when running under Windows 3's enhanced mode. The only ways
- around the problem we can find are to either run the Fractint image
- involved outside Windows, or to use the DOS command "SET NO87=nofpu"
- before running Fractint. (This SET command makes Fractint ignore your
- fpu, so things might be a lot slower as a result.)
-
- Insufficient memory:
- Fractint requires a fair bit of memory to run. Most machines with at
- least 640k (ok sticklers, make that "PC-compatible machines") will
- have no problem. Machines with 512k and machines with many TSR
- utilities and/or a LAN interface may have problems. Some Fractint
- features allocate memory when required during a run. If you get a
- message about insufficient memory, or suspect that some problem is due
- to a memory shortage, you could try commenting out some TSR utilities
- in your AUTOEXEC.BAT file, some non-critical drivers in your
- CONFIG.SYS file, or reducing the BUFFERS parameter in your CONFIG.SYS.
-
- "Cannot find FRACTINT.EXE" message:
- Fractint is an overlayed program - some parts of it are brought from
- disk into memory only when used. The overlay manager needs to know
- where to find the program. It must be named FRACTINT.EXE (which it is
- unless somebody renamed it), and you should either be in the directory
- containing it when you start Fractint, or that directory should be in
- your DOS PATH.
-
- "File FRACTINT.CFG is missing or invalid" message:
- You should either start Fractint while you are in the directory
- containing it, or should have that directory in your DOS PATH
- variable. If that isn't the problem, maybe you have a FRACTINT.CFG
- file from an older release of Fractint lying around? If so, best
- rename or delete it. If that isn't the problem either, then the
- FRACTINT.CFG included in the FRAINT.EXE release file has probably been
- changed or deleted. Best reinstall Fractint to get a fresh copy.
-
- Fractint Version 18.2 Page 120
-
- Some other program doesn't like GIF files created by Fractint:
- Fractint generates nice clean GIF89A spec files, honest! But telling
- this to the other program isn't likely to change its mind. Instead,
- try an option which might get around the problem: run Fractint with
- the command line option "gif87a=yes" and then save an image. Fractint
- will store the image in the older GIF87A format, without any fractal
- parameters in it (so you won't be able to load the image back into
- Fractint and zoom into it - the fractal type, coordinates, etc. are
- not stored in this older format), and without an "aspect ratio" in the
- GIF header (we've seen one utility which doesn't like that field.)
-
- Disk video mode performance:
- This won't be blindingly fast at the best of times, but there are
- things which can slow it down and can be tuned. See "Disk-Video"
- Modes (p. 114) for details.
-
- Fractint Version 18.2 Page 121
-
- 8. Fractals and the PC
-
-
- 8.1 A Little History
-
-
- 8.1.1 Before Mandelbrot
-
- Like new forms of life, new branches of mathematics and science don't
- appear from nowhere. The ideas of fractal geometry can be traced to the
- late nineteenth century, when mathematicians created shapes -- sets of
- points -- that seemed to have no counterpart in nature. By a wonderful
- irony, the "abstract" mathematics descended from that work has now
- turned out to be MORE appropriate than any other for describing many
- natural shapes and processes.
-
- Perhaps we shouldn't be surprised. The Greek geometers worked out the
- mathematics of the conic sections for its formal beauty; it was two
- thousand years before Copernicus and Brahe, Kepler and Newton overcame
- the preconception that all heavenly motions must be circular, and found
- the ellipse, parabola, and hyperbola in the paths of planets, comets,
- and projectiles.
-
- In the 17th century Newton and Leibniz created calculus, with its
- techniques for "differentiating" or finding the derivative of functions
- -- in geometric terms, finding the tangent of a curve at any given
- point. True, some functions were discontinuous, with no tangent at a
- gap or an isolated point. Some had singularities: abrupt changes in
- direction at which the idea of a tangent becomes meaningless. But these
- were seen as exceptional, and attention was focused on the "well-
- behaved" functions that worked well in modeling nature.
-
- Beginning in the early 1870s, though, a 50-year crisis transformed
- mathematical thinking. Weierstrass described a function that was
- continuous but nondifferentiable -- no tangent could be described at any
- point. Cantor showed how a simple, repeated procedure could turn a line
- into a dust of scattered points, and Peano generated a convoluted curve
- that eventually touches every point on a plane. These shapes seemed to
- fall "between" the usual categories of one-dimensional lines, two-
- dimensional planes and three-dimensional volumes. Most still saw them as
- "pathological" cases, but here and there they began to find
- applications.
-
- In other areas of mathematics, too, strange shapes began to crop up.
- Poincare attempted to analyze the stability of the solar system in the
- 1880s and found that the many-body dynamical problem resisted
- traditional methods. Instead, he developed a qualitative approach, a
- "state space" in which each point represented a different planetary
- orbit, and studied what we would now call the topology -- the
- "connectedness" -- of whole families of orbits. This approach revealed
- that while many initial motions quickly settled into the familiar
- curves, there were also strange, "chaotic" orbits that never became
- periodic and predictable.
-
- Fractint Version 18.2 Page 122
-
- Other investigators trying to understand fluctuating, "noisy" phenomena
- -- the flooding of the Nile, price series in economics, the jiggling of
- molecules in Brownian motion in fluids -- found that traditional models
- could not match the data. They had to introduce apparently arbitrary
- scaling features, with spikes in the data becoming rarer as they grew
- larger, but never disappearing entirely.
-
- For many years these developments seemed unrelated, but there were
- tantalizing hints of a common thread. Like the pure mathematicians'
- curves and the chaotic orbital motions, the graphs of irregular time
- series often had the property of self-similarity: a magnified small
- section looked very similar to a large one over a wide range of scales.
-
-
- 8.1.2 Who Is This Guy, Anyway?
-
- While many pure and applied mathematicians advanced these trends, it is
- Benoit Mandelbrot above all who saw what they had in common and pulled
- the threads together into the new discipline.
-
- He was born in Warsaw in 1924, and moved to France in 1935. In a time
- when French mathematical training was strongly analytic, he visualized
- problems whenever possible, so that he could attack them in geometric
- terms. He attended the Ecole Polytechnique, then Caltech, where he
- encountered the tangled motions of fluid turbulence.
-
- In 1958 he joined IBM, where he began a mathematical analysis of
- electronic "noise" -- and began to perceive a structure in it, a
- hierarchy of fluctuations of all sizes, that could not be explained by
- existing statistical methods. Through the years that followed, one
- seemingly unrelated problem after another was drawn into the growing
- body of ideas he would come to call fractal geometry.
-
- As computers gained more graphic capabilities, the skills of his mind's
- eye were reinforced by visualization on display screens and plotters.
- Again and again, fractal models produced results -- series of flood
- heights, or cotton prices -- that experts said looked like "the real
- thing."
-
- Visualization was extended to the physical world as well. In a
- provocative essay titled "How Long Is the Coast of Britain?" Mandelbrot
- noted that the answer depends on the scale at which one measures: it
- grows longer and longer as one takes into account every bay and inlet,
- every stone, every grain of sand. And he codified the "self-similarity"
- characteristic of many fractal shapes -- the reappearance of
- geometrically similar features at all scales.
-
- First in isolated papers and lectures, then in two editions of his
- seminal book, he argued that many of science's traditional mathematical
- models are ill-suited to natural forms and processes: in fact, that many
- of the "pathological" shapes mathematicians had discovered generations
- before are useful approximations of tree bark and lung tissue, clouds
- and galaxies.
-
- Fractint Version 18.2 Page 123
-
- Mandelbrot was named an IBM Fellow in 1974, and continues to work at the
- IBM Watson Research Center. He has also been a visiting professor and
- guest lecturer at many universities.
-
-
- 8.2 A Little Code
-
-
- 8.2.1 Periodicity Logic
-
- The "Mandelbrot Lake" in the center of the M-set images is the
- traditional bane of plotting programs. It sucks up the most computer
- time because it always reaches the iteration limit -- and yet the most
- interesting areas are invariably right at the edge the lake. (See The
- Mandelbrot Set (p. 29) for a description of the iteration process.)
-
- Thanks to Mark Peterson for pointing out (well, he more like beat us
- over the head until we paid attention) that the iteration values in the
- middle of Mandelbrot Lake tend to decay to periodic loops (i.e., Z(n+m)
- == Z(n), a fact that is pointed out on pages 58-61 of "The Beauty of
- Fractals"). An intelligent program (like the one he wrote) would check
- for this periodicity once in a while, recognize that iterations caught
- in a loop are going to max out, and bail out early.
-
- For speed purposes, the current version of the program turns this
- checking algorithm on only if the last pixel generated was in the lake.
- (The checking itself takes a small amount of time, and the pixels on the
- very edge of the lake tend to decay to periodic loops very slowly, so
- this compromise turned out to be the fastest generic answer).
-
- Try a full M-set plot with a 1000-iteration maximum with any other
- program, and then try it on this one for a pretty dramatic proof of the
- value of periodicity checking.
-
- You can get a visual display of the periodicity effects if you press
- <O>rbits while plotting. This toggles display of the intermediate
- iterations during the generation process. It also gives you an idea of
- how much work your poor little PC is going through for you! If you use
- this toggle, it's best to disable solid-guessing first using <1> or <2>
- because in its second pass, solid-guessing bypasses many of the pixel
- calculations precisely where the orbits are most interesting.
-
- Mark was also responsible for pointing out that 16-bit integer math was
- good enough for the first few levels of M/J images, where the round-off
- errors stay well within the area covered by a single pixel. Fractint now
- uses 16-bit math where applicable, which makes a big difference on non-
- 32-bit PCs.
-
-
- 8.2.2 Limitations of Integer Math (And How We Cope)
-
- By default, Fractint uses 16-bit and/or 32-bit integer math to generate
- nearly all its fractal types. The advantage of integer math is speed:
- this is by far the fastest such plotter that we have ever seen on any
- PC. The disadvantage is an accuracy limit. Integer math represents
- numbers like 1.00 as 32-bit integers of the form [1.00 * (2^29)]
-
- Fractint Version 18.2 Page 124
-
- (approximately a range of 500,000,000) for the Mandelbrot and Julia
- sets. Other integer fractal types use a bitshift of 24 rather than 29,
- so 1.0 is stored internally as [1.00 * (2^*24)]. This yields accuracy of
- better than 8 significant digits, and works fine... until the initial
- values of the calculations on consecutive pixels differ only in the
- ninth decimal place.
-
- At that point, if Fractint has a floating-point algorithm handy for that
- particular fractal type (and virtually all of the fractal types have one
- these days), it will silently switch over to the floating-point
- algorithm and keep right on going. Fair warning - if you don't have an
- FPU, the effect is that of a rocket sled hitting a wall of jello, and
- even if you do, the slowdown is noticeable.
-
- If it has no floating-point algorithm, Fractint does the best it can: it
- switches to its minimal drawing mode, with adjacent pixels having
- initial values differing by 1 (really 0.000000002). Attempts to zoom
- further may result in moving the image around a bit, but won't actually
- zoom. If you are stuck with an integer algorithm, you can reach minimal
- mode with your fifth consecutive "maximum zoom", each of which covers
- about 0.25% of the previous screen. By then your full-screen image is an
- area less than 1/(10^13)th [~0.0000000000001] the area of the initial
- screen. (If your image is rotated or stretched very slightly, you can
- run into the wall of jello as early as the fourth consecutive maximum
- zoom. Rotating or stretching by larger amounts has less impact on how
- soon you run into it.)
-
- Think of it this way: at minimal drawing mode, your VGA display would
- have to have a surface area of over one million square miles just to be
- able to display the entire M-set using the integer algorithms. Using
- the floating-point algorithms, your display would have to be big enough
- to fit the entire solar system out to the orbit of Saturn inside it. So
- there's a considerable saving on hardware, electricity and desk space
- involved here. Also, you don't have to take out asteroid insurance.
-
- 32 bit integers also limit the largest number which can be stored. This
- doesn't matter much since numbers outside the supported range (which is
- between -4 and +4) produce a boring single color. If you try to zoom-out
- to reduce the entire Mandelbrot set to a speck, or to squeeze it to a
- pancake, you'll find you can't do so in integer math mode.
-
-
- 8.2.3 The Fractint "Fractal Engine" Architecture
-
- Several of the authors would never ADMIT this, but Fractint has evolved
- a powerful and flexible architecture that makes adding new fractals very
- easy. (They would never admit this because they pride themselves on
- being the sort that mindlessly but happily hacks away at code and "sees
- if it works and doesn't hang the machine".)
-
- Many fractal calculations work by taking a rectangle in the complex
- plane, and, point by point, calculating a color corresponding to that
- point. Furthermore, the color calculation is often done by iterating a
- function over and over until some bailout condition is met. (See The
- Mandelbrot Set (p. 29) for a description of the iteration process.)
-
- Fractint Version 18.2 Page 125
-
- In implementing such a scheme, there are three fractal-specific
- calculations that take place within a framework that is pretty much the
- same for them all. Rather than copy the same code over and over, we
- created a standard fractal engine that calls three functions that may be
- bolted in temporarily to the engine. The "bolting in" process uses the
- C language mechanism of variable function pointers.
-
- These three functions are:
-
- 1) a setup function that is run once per image, to do any required
- initialization of variables,
-
- 2) a once-per-pixel function that does whatever initialization has to
- be done to calculate a color for one pixel, and
-
- 3) a once-per-orbit-iteration function, which is the fundamental
- fractal algorithm that is repeatedly iterated in the fractal
- calculation.
-
- The common framework that calls these functions can contain all sorts of
- speedups, tricks, and options that the fractal implementor need not
- worry about. All that is necessary is to write the three functions in
- the correct way, and BINGO! - all options automatically apply. What
- makes it even easier is that usually one can re-use functions 1) and 2)
- written for other fractals, and therefore only need to write function
- 3).
-
- Then it occurred to us that there might be more than one sort of fractal
- engine, so we even allowed THAT to be bolted in. And we created a data
- structure for each fractal that includes pointers to these four
- functions, various prompts, a default region of the complex plane, and
- various miscellaneous bits of information that allow toggling between
- Julia and Mandelbrot or toggling between the various kinds of math used
- in implementation.
-
- That sounds pretty flexible, but there is one drawback - you have to be
- a C programmer and have a C compiler to make use of it! So we took it a
- step further, and designed a built-in high level compiler, so that you
- can enter the formulas for the various functions in a formula file in a
- straightforward algebra-like language, and Fractint will compile them
- and bolt them in for you!
-
- There is a terrible down side to this flexibility. Fractint users
- everywhere are going berserk. Fractal-inventing creativity is running
- rampant. Proposals for new fractal types are clogging the mail and the
- telephones.
-
- All we can say is that non-productivity software has never been so
- potent, and we're sorry, it's our fault!
-
- Fractint was compiled using Microsoft C 6.00A and Microsoft Assembler
- 5.1, using the "Medium" model. Note that the assembler code uses the "C"
- model option added to version 5.1, and must be assembled with the /MX or
- /ML switch to link with the "C" code. Because it has become too large to
- distribute comfortably as a single compressed file, and because many
- downloaders have no intention of ever modifying it, Fractint is now
-
- Fractint Version 18.2 Page 126
-
- distributed as two files: one containing FRACTINT.EXE, auxiliary files
- and this document, and another containing complete source code
- (including a .MAK file and MAKEFRAC.BAT). See Distribution of Fractint
- (p. 145).
-
- Fractint Version 18.2 Page 127
-
- Appendix A Mathematics of the Fractal Types
-
- SUMMARY OF FRACTAL TYPES
-
- barnsleyj1 (p. 38)
- z(0) = pixel;
- z(n+1) = (z-1)*c if real(z) >= 0, else
- z(n+1) = (z+1)*c
- Two parameters: real and imaginary parts of c
- barnsleyj2 (p. 38)
- z(0) = pixel;
- if real(z(n)) * imag(c) + real(c) * imag(z((n)) >= 0
- z(n+1) = (z(n)-1)*c
- else
- z(n+1) = (z(n)+1)*c
- Two parameters: real and imaginary parts of c
- barnsleyj3 (p. 38)
- z(0) = pixel;
- if real(z(n) > 0 then z(n+1) = (real(z(n))^2 - imag(z(n))^2 - 1)
- + i * (2*real(z((n)) * imag(z((n))) else
- z(n+1) = (real(z(n))^2 - imag(z(n))^2 - 1 + real(c) * real(z(n))
- + i * (2*real(z((n)) * imag(z((n)) + imag(c) * real(z(n))
- Two parameters: real and imaginary parts of c.
- barnsleym1 (p. 38)
- z(0) = c = pixel;
- if real(z) >= 0 then
- z(n+1) = (z-1)*c
- else
- z(n+1) = (z+1)*c.
- Parameters are perturbations of z(0)
- barnsleym2 (p. 38)
- z(0) = c = pixel;
- if real(z)*imag(c) + real(c)*imag(z) >= 0
- z(n+1) = (z-1)*c
- else
- z(n+1) = (z+1)*c
- Parameters are perturbations of z(0)
- barnsleym3 (p. 38)
- z(0) = c = pixel;
- if real(z(n) > 0 then z(n+1) = (real(z(n))^2 - imag(z(n))^2 - 1)
- + i * (2*real(z((n)) * imag(z((n))) else
- z(n+1) = (real(z(n))^2 - imag(z(n))^2 - 1 + real(c) * real(z(n))
- + i * (2*real(z((n)) * imag(z((n)) + imag(c) * real(z(n))
- Parameters are perturbations of z(0)
-
- bifurcation (p. 44)
- Pictorial representation of a population growth model.
- Let P = new population, p = oldpopulation, r = growth rate
- The model is: P = p + r*fn(p)*(1-fn(p)).
- Three parameters: Filter Cycles, Seed Population, and Function.
- bif+sinpi (p. 44)
- Bifurcation variation: model is: P = p + r*fn(PI*p).
- Three parameters: Filter Cycles, Seed Population, and Function.
- bif=sinpi (p. 44)
- Bifurcation variation: model is: P = r*fn(PI*p).
- Three parameters: Filter Cycles, Seed Population, and Function.
-
- Fractint Version 18.2 Page 128
-
- biflambda (p. 44)
- Bifurcation variation: model is: P = r*fn(p)*(1-fn(p)).
- Three parameters: Filter Cycles, Seed Population, and Function.
- bifstewart (p. 44)
- Bifurcation variation: model is: P = (r*fn(p)*fn(p)) - 1.
- Three parameters: Filter Cycles, Seed Population, and Function.
- bifmay (p. 44)
- Bifurcation variation: model is: P = r*p / ((1+p)^beta).
- Three parameters: Filter Cycles, Seed Population, and Beta.
-
- cellular (p. 61)
- One-dimensional cellular automata or line automata. The type of CA
- is given by kr, where k is the number of different states of the
- automata and r is the radius of the neighborhood. The next generation
- is determined by the sum of the neighborhood and the specified rule.
- Four parameters: Initial String, Rule, Type, and Starting Row Number.
- For Type = 21, 31, 41, 51, 61, 22, 32, 42, 23, 33, 24, 25, 26, 27
- Rule = 4, 7, 10, 13, 16, 6, 11, 16, 8, 15, 10, 12, 14, 16 digits
-
- circle (p. 36)
- Circle pattern by John Connett
- x + iy = pixel
- z = a*(x^2 + y^2)
- c = integer part of z
- color = c modulo(number of colors)
-
- cmplxmarksjul (p. 42)
- A generalization of the marksjulia fractal.
- z(0) = pixel;
- z(n+1) = (c^exp)*z(n)^2 + c.
- Four parameters: real and imaginary parts of c and exp.
-
- cmplxmarksmand (p. 42)
- A generalization of the marksmandel fractal.
- z(0) = c = pixel;
- z(n+1) = (c^exp)*z(n)^2 + c.
- Four parameters: real and imaginary parts of
- perturbation of z(0) and exp.
-
- complexnewton, complexbasin (p. 34)
- Newton fractal types extended to complex degrees. Complexnewton
- colors pixels according to the number of iterations required to
- escape to a root. Complexbasin colors pixels according to which
- root captures the orbit. The equation is based on the newton
- formula for solving the equation z^p = r
- z(0) = pixel;
- z(n+1) = ((p - 1) * z(n)^p + r)/(p * z(n)^(p - 1)).
- Four parameters: real & imaginary parts of degree p and root r
-
- diffusion (p. 54)
- Diffusion Limited Aggregation. Randomly moving points
- accumulate. Two parameters: border width (default 10), type
-
- dynamic (p. 59)
- Time-discrete dynamic system.
- x(0) = y(0) = start position.
-
- Fractint Version 18.2 Page 129
-
- y(n+1) = y(n) + f( x(n) )
- x(n+1) = x(n) - f( y(n) )
- f(k) = sin(k + a*fn1(b*k))
- For implicit Euler approximation: x(n+1) = x(n) - f( y(n+1) )
- Five parameters: start position step, dt, a, b, and the function fn1.
-
- fn+fn(pix) (p. 43)
- c = z(0) = pixel;
- z(n+1) = fn1(z) + p*fn2(c)
- Six parameters: real and imaginary parts of the perturbation
- of z(0) and factor p, and the functions fn1, and fn2.
-
- fn(z*z) (p. 43)
- z(0) = pixel;
- z(n+1) = fn(z(n)*z(n))
- One parameter: the function fn.
-
- fn*fn (p. 43)
- z(0) = pixel; z(n+1) = fn1(n)*fn2(n)
- Two parameters: the functions fn1 and fn2.
-
- fn*z+z (p. 43)
- z(0) = pixel; z(n+1) = p1*fn(z(n))*z(n) + p2*z(n)
- Five parameters: the real and imaginary components of
- p1 and p2, and the function fn.
-
- fn+fn (p. 43)
- z(0) = pixel;
- z(n+1) = p1*fn1(z(n))+p2*fn2(z(n))
- Six parameters: The real and imaginary components of
- p1 and p2, and the functions fn1 and fn2.
-
- formula (p. 51)
- Formula interpreter - write your own formulas as text files!
-
- frothybasin (p. 63)
- Pixel color is determined by which attractor captures the orbit. The
- shade of color is determined by the number of iterations required to
- capture the orbit.
- z(0) = pixel; z(n+1) = z(n)^2 - c*conj(z(n))
- where c = 1 + ai, and a = 1.02871376822...
-
- gingerbread (p. 49)
- Orbit in two dimensions defined by:
- x(n+1) = 1 - y(n) + |x(n)|
- y(n+1) = x(n)
- Two parameters: initial values of x(0) and y(0).
-
- halley (p. 59)
- Halley map for the function: F = z(z^a - 1) = 0
- z(0) = pixel;
- z(n+1) = z(n) - R * F / [F' - (F" * F / 2 * F')]
- bailout when: abs(mod(z(n+1)) - mod(z(n)) < epsilon
- Three parameters: order of z (a), relaxation coefficient (R),
- small number for bailout (epsilon).
- henon (p. 48)
-
- Fractint Version 18.2 Page 130
-
- Orbit in two dimensions defined by:
- x(n+1) = 1 + y(n) - a*x(n)*x(n)
- y(n+1) = b*x(n)
- Two parameters: a and b
-
- hopalong (p. 49)
- Hopalong attractor by Barry Martin - orbit in two dimensions.
- z(0) = y(0) = 0;
- x(n+1) = y(n) - sign(x(n))*sqrt(abs(b*x(n)-c))
- y(n+1) = a - x(n)
- Parameters are a, b, and c.
-
- hypercomplex (p. 61)
- HyperComplex Mandelbrot set.
- h(0) = (0,0,0,0)
- h(n+1) = fn(h(n)) + C.
- where "fn" is sin, cos, log, sqr etc.
- Two parameters: cj, ck
- C = (xpixel,ypixel,cj,ck)
-
- hypercomplexj (p. 61)
- HyperComplex Julia set.
- h(0) = (xpixel,ypixel,zj,zk)
- h(n+1) = fn(h(n)) + C.
- where "fn" is sin, cos, log, sqr etc.
- Six parameters: c1, ci, cj, ck
- C = (c1,ci,cj,ck)
-
- icon, icon3d (p. 50)
- Orbit in three dimensions defined by:
- p = lambda + alpha * magnitude + beta * (x(n)*zreal - y(n)*zimag)
- x(n+1) = p * x(n) + gamma * zreal - omega * y(n)
- y(n+1) = p * y(n) - gamma * zimag + omega * x(n)
- (3D version uses magnitude for z)
- Parameters: Lambda, Alpha, Beta, Gamma, Omega, and Degree
-
- IFS (p. 39)
- Barnsley IFS (Iterated Function System) fractals. Apply
- contractive affine mappings.
-
- julfn+exp (p. 41)
- A generalized Clifford Pickover fractal.
- z(0) = pixel;
- z(n+1) = fn(z(n)) + e^z(n) + c.
- Three parameters: real & imaginary parts of c, and fn
-
- julfn+zsqrd (p. 41)
- z(0) = pixel;
- z(n+1) = fn(z(n)) + z(n)^2 + c
- Three parameters: real & imaginary parts of c, and fn
-
- julia (p. 30)
- Classic Julia set fractal.
- z(0) = pixel; z(n+1) = z(n)^2 + c.
- Two parameters: real and imaginary parts of c.
-
- Fractint Version 18.2 Page 131
-
- julia_inverse (p. 32)
- Inverse Julia function - "orbit" traces Julia set in two dimensions.
- z(0) = a point on the Julia Set boundary; z(n+1) = +- sqrt(z(n) - c)
- Parameters: Real and Imaginary parts of c
- Maximum Hits per Pixel (similar to max iters)
- Breadth First, Depth First or Random Walk Tree Traversal
- Left or Right First Branching (in Depth First mode only)
- Try each traversal method, keeping everything else the same.
- Notice the differences in the way the image evolves. Start with
- a fairly low Maximum Hit limit, then increase it. The hit limit
- cannot be higher than the maximum colors in your video mode.
-
- julia(fn||fn) (p. 58)
- z(0) = pixel;
- if modulus(z(n)) < shift value, then
- z(n+1) = fn1(z(n)) + c,
- else
- z(n+1) = fn2(z(n)) + c.
- Five parameters: real, imaginary portions of c, shift value,
- fn1 and fn2.
-
- julia4 (p. 41)
- Fourth-power Julia set fractals, a special case
- of julzpower kept for speed.
- z(0) = pixel;
- z(n+1) = z(n)^4 + c.
- Two parameters: real and imaginary parts of c.
-
- julibrot (p. 52)
- 'Julibrot' 4-dimensional fractals.
-
- julzpower (p. 41)
- z(0) = pixel;
- z(n+1) = z(n)^m + c.
- Three parameters: real & imaginary parts of c, exponent m
-
- julzzpwr (p. 41)
- z(0) = pixel;
- z(n+1) = z(n)^z(n) + z(n)^m + c.
- Three parameters: real & imaginary parts of c, exponent m
-
- kamtorus, kamtorus3d (p. 44)
- Series of orbits superimposed.
- 3d version has 'orbit' the z dimension.
- x(0) = y(0) = orbit/3;
- x(n+1) = x(n)*cos(a) + (x(n)*x(n)-y(n))*sin(a)
- y(n+1) = x(n)*sin(a) - (x(n)*x(n)-y(n))*cos(a)
- After each orbit, 'orbit' is incremented by a step size.
- Parameters: a, step size, stop value for 'orbit', and
- points per orbit.
-
- lambda (p. 35)
- Classic Lambda fractal. 'Julia' variant of Mandellambda.
- z(0) = pixel;
- z(n+1) = lambda*z(n)*(1 - z(n)).
- Two parameters: real and imaginary parts of lambda.
-
- Fractint Version 18.2 Page 132
-
- lambdafn (p. 37)
- z(0) = pixel;
- z(n+1) = lambda * fn(z(n)).
- Three parameters: real, imag portions of lambda, and fn
-
- lambda(fn||fn) (p. 58)
- z(0) = pixel;
- if modulus(z(n)) < shift value, then
- z(n+1) = lambda * fn1(z(n)),
- else
- z(n+1) = lambda * fn2(z(n)).
- Five parameters: real, imaginary portions of lambda, shift value,
- fn1 and fn2.
-
- lorenz, lorenz3d (p. 47)
- Lorenz two lobe attractor - orbit in three dimensions.
- In 2d the x and y components are projected to form the image.
- z(0) = y(0) = z(0) = 1;
- x(n+1) = x(n) + (-a*x(n)*dt) + ( a*y(n)*dt)
- y(n+1) = y(n) + ( b*x(n)*dt) - ( y(n)*dt) - (z(n)*x(n)*dt)
- z(n+1) = z(n) + (-c*z(n)*dt) + (x(n)*y(n)*dt)
- Parameters are dt, a, b, and c.
-
- lorenz3d1 (p. 47)
- Lorenz one lobe attractor - orbit in three dimensions.
- The original formulas were developed by Rick Miranda and Emily Stone.
- z(0) = y(0) = z(0) = 1; norm = sqrt(x(n)^2 + y(n)^2)
- x(n+1) = x(n) + (-a*dt-dt)*x(n) + (a*dt-b*dt)*y(n)
- + (dt-a*dt)*norm + y(n)*dt*z(n)
- y(n+1) = y(n) + (b*dt-a*dt)*x(n) - (a*dt+dt)*y(n)
- + (b*dt+a*dt)*norm - x(n)*dt*z(n) - norm*z(n)*dt
- z(n+1) = z(n) +(y(n)*dt/2) - c*dt*z(n)
- Parameters are dt, a, b, and c.
-
- lorenz3d3 (p. 47)
- Lorenz three lobe attractor - orbit in three dimensions.
- The original formulas were developed by Rick Miranda and Emily Stone.
- z(0) = y(0) = z(0) = 1; norm = sqrt(x(n)^2 + y(n)^2)
- x(n+1) = x(n) +(-(a*dt+dt)*x(n) + (a*dt-b*dt+z(n)*dt)*y(n))/3
- + ((dt-a*dt)*(x(n)^2-y(n)^2)
- + 2*(b*dt+a*dt-z(n)*dt)*x(n)*y(n))/(3*norm)
- y(n+1) = y(n) +((b*dt-a*dt-z(n)*dt)*x(n) - (a*dt+dt)*y(n))/3
- + (2*(a*dt-dt)*x(n)*y(n)
- + (b*dt+a*dt-z(n)*dt)*(x(n)^2-y(n)^2))/(3*norm)
- z(n+1) = z(n) +(3*x(n)*dt*x(n)*y(n)-y(n)*dt*y(n)^2)/2 - c*dt*z(n)
- Parameters are dt, a, b, and c.
- lorenz3d4 (p. 47)
- Lorenz four lobe attractor - orbit in three dimensions.
- The original formulas were developed by Rick Miranda and Emily Stone.
- z(0) = y(0) = z(0) = 1;
- x(n+1) = x(n) +(-a*dt*x(n)^3
- + (2*a*dt+b*dt-z(n)*dt)*x(n)^2*y(n) + (a*dt-2*dt)*x(n)*y(n)^2
- + (z(n)*dt-b*dt)*y(n)^3) / (2 * (x(n)^2+y(n)^2))
- y(n+1) = y(n) +((b*dt-z(n)*dt)*x(n)^3 + (a*dt-2*dt)*x(n)^2*y(n)
- + (-2*a*dt-b*dt+z(n)*dt)*x(n)*y(n)^2
- - a*dt*y(n)^3) / (2 * (x(n)^2+y(n)^2))
-
- Fractint Version 18.2 Page 133
-
- z(n+1) = z(n) +(2*x(n)*dt*x(n)^2*y(n) - 2*x(n)*dt*y(n)^3 - c*dt*z(n))
- Parameters are dt, a, b, and c.
-
- lsystem (p. 55)
- Using a turtle-graphics control language and starting with
- an initial axiom string, carries out string substitutions the
- specified number of times (the order), and plots the resulting.
-
- lyapunov (p. 57)
- Derived from the Bifurcation fractal, the Lyapunov plots the Lyapunov
- Exponent for a population model where the Growth parameter varies between
- two values in a periodic manner.
-
- magnet1j (p. 54)
- z(0) = pixel;
- [ z(n)^2 + (c-1) ] 2
- z(n+1) = | ---------------- |
- [ 2*z(n) + (c-2) ]
- Parameters: the real and imaginary parts of c
-
- magnet1m (p. 54)
- z(0) = 0; c = pixel;
- [ z(n)^2 + (c-1) ] 2
- z(n+1) = | ---------------- |
- [ 2*z(n) + (c-2) ]
- Parameters: the real & imaginary parts of perturbation of z(0)
-
- magnet2j (p. 54)
- z(0) = pixel;
- [ z(n)^3 + 3*(C-1)*z(n) + (C-1)*(C-2) ] 2
- z(n+1) = | -------------------------------------------- |
- [ 3*(z(n)^2) + 3*(C-2)*z(n) + (C-1)*(C-2) + 1 ]
- Parameters: the real and imaginary parts of c
- magnet2m (p. 54)
- z(0) = 0; c = pixel;
- [ z(n)^3 + 3*(C-1)*z(n) + (C-1)*(C-2) ] 2
- z(n+1) = | -------------------------------------------- |
- [ 3*(z(n)^2) + 3*(C-2)*z(n) + (C-1)*(C-2) + 1 ]
- Parameters: the real and imaginary parts of perturbation of z(0)
-
- mandel (p. 29)
- Classic Mandelbrot set fractal.
- z(0) = c = pixel;
- z(n+1) = z(n)^2 + c.
- Two parameters: real & imaginary perturbations of z(0)
-
- mandel(fn||fn) (p. 58)
- c = pixel;
- z(0) = p1
- if modulus(z(n)) < shift value, then
- z(n+1) = fn1(z(n)) + c,
- else
- z(n+1) = fn2(z(n)) + c.
- Five parameters: real, imaginary portions of p1, shift value,
- fn1 and fn2.
-
- Fractint Version 18.2 Page 134
-
- mandelcloud (p. 60)
- Displays orbits of Mandelbrot set:
- z(0) = c = pixel;
- z(n+1) = z(n)^2 + c.
- One parameter: number of intervals
-
- mandel4 (p. 41)
- Special case of mandelzpower kept for speed.
- z(0) = c = pixel;
- z(n+1) = z(n)^4 + c.
- Parameters: real & imaginary perturbations of z(0)
-
- mandelfn (p. 38)
- z(0) = c = pixel;
- z(n+1) = c*fn(z(n)).
- Parameters: real & imaginary perturbations of z(0), and fn
-
- manlam(fn||fn) (p. 58)
- c = pixel;
- z(0) = p1
- if modulus(z(n)) < shift value, then
- z(n+1) = fn1(z(n)) * c, else
- z(n+1) = fn2(z(n)) * c.
- Five parameters: real, imaginary parts of p1, shift value, fn1, fn2.
-
- Martin (p. 49)
- Attractor fractal by Barry Martin - orbit in two dimensions.
- z(0) = y(0) = 0;
- x(n+1) = y(n) - sin(x(n))
- y(n+1) = a - x(n)
- Parameter is a (try a value near pi)
-
- mandellambda (p. 35)
- z(0) = .5; lambda = pixel;
- z(n+1) = lambda*z(n)*(1 - z(n)).
- Parameters: real & imaginary perturbations of z(0)
-
- mandphoenix (p. 62)
- z(0) = p1, y(0) = 0;
- For degree of Z = 0:
- z(n+1) = z(n)^2 + pixel.x + (pixel.y)y(n), y(n+1) = z(n)
- For degree of Z >= 2:
- z(n+1) = z(n)^degree + pz(n)^(degree-1) + qy(n), y(n+1) = z(n)
- For degree of Z <= -3:
- z(n+1) = z(n)^|degree| + pz(n)^(|degree|-2) + qy(n), y(n+1) = z(n)
- Three parameters: real part of z(0), imaginary part of z(0), and the
- degree of Z.
-
- manfn+exp (p. 41)
- 'Mandelbrot-Equivalent' for the julfn+exp fractal.
- z(0) = c = pixel;
- z(n+1) = fn(z(n)) + e^z(n) + C.
- Parameters: real & imaginary perturbations of z(0), and fn
-
- Fractint Version 18.2 Page 135
-
- manfn+zsqrd (p. 41)
- 'Mandelbrot-Equivalent' for the Julfn+zsqrd fractal.
- z(0) = c = pixel;
- z(n+1) = fn(z(n)) + z(n)^2 + c.
- Parameters: real & imaginary perturbations of z(0), and fn
-
- manowar (p. 43)
- c = z1(0) = z(0) = pixel;
- z(n+1) = z(n)^2 + z1(n) + c;
- z1(n+1) = z(n);
- Parameters: real & imaginary perturbations of z(0)
-
- manowar (p. 43)
- z1(0) = z(0) = pixel;
- z(n+1) = z(n)^2 + z1(n) + c;
- z1(n+1) = z(n);
- Parameters: real & imaginary perturbations of c
-
- manzpower (p. 41)
- 'Mandelbrot-Equivalent' for julzpower.
- z(0) = c = pixel;
- z(n+1) = z(n)^exp + c; try exp = e = 2.71828...
- Parameters: real & imaginary perturbations of z(0), real &
- imaginary parts of exponent exp.
-
- manzzpwr (p. 41)
- 'Mandelbrot-Equivalent' for the julzzpwr fractal.
- z(0) = c = pixel
- z(n+1) = z(n)^z(n) + z(n)^exp + C.
- Parameters: real & imaginary perturbations of z(0), and exponent
-
- marksjulia (p. 42)
- A variant of the julia-lambda fractal.
- z(0) = pixel;
- z(n+1) = (c^exp)*z(n)^2 + c.
- Parameters: real & imaginary parts of c, and exponent
-
- marksmandel (p. 42)
- A variant of the mandel-lambda fractal.
- z(0) = c = pixel;
- z(n+1) = (c^exp)*z(n)^2 + c.
- Parameters: real & imaginary perturbations of z(0), and exponent
-
- marksmandelpwr (p. 42)
- The marksmandelpwr formula type generalized (it previously
- had fn=sqr hard coded).
- z(0) = pixel, c = z(0) ^ (z(0) - 1):
- z(n+1) = c * fn(z(n)) + pixel,
- Parameters: real and imaginary perturbations of z(0), and fn
-
- newtbasin (p. 33)
- Based on the Newton formula for finding the roots of z^p - 1.
- Pixels are colored according to which root captures the orbit.
- z(0) = pixel;
- z(n+1) = ((p-1)*z(n)^p + 1)/(p*z(n)^(p - 1)).
- Two parameters: the polynomial degree p, and a flag to turn
-
- Fractint Version 18.2 Page 136
-
- on color stripes to show alternate iterations.
-
- newton (p. 34)
- Based on the Newton formula for finding the roots of z^p - 1.
- Pixels are colored according to the iteration when the orbit
- is captured by a root.
- z(0) = pixel;
- z(n+1) = ((p-1)*z(n)^p + 1)/(p*z(n)^(p - 1)).
- One parameter: the polynomial degree p.
-
- phoenix (p. 62)
- z(0) = pixel, y(0) = 0;
- For degree of Z = 0: z(n+1) = z(n)^2 + p + qy(n), y(n+1) = z(n)
- For degree of Z >= 2:
- z(n+1) = z(n)^degree + pz(n)^(degree-1) + qy(n), y(n+1) = z(n)
- For degree of Z <= -3:
- z(n+1) = z(n)^|degree| + pz(n)^(|degree|-2) + qy(n), y(n+1) = z(n)
- Three parameters: real p, real q, and the degree of Z.
- pickover (p. 49)
- Orbit in three dimensions defined by:
- x(n+1) = sin(a*y(n)) - z(n)*cos(b*x(n))
- y(n+1) = z(n)*sin(c*x(n)) - cos(d*y(n))
- z(n+1) = sin(x(n))
- Parameters: a, b, c, and d.
-
- plasma (p. 36)
- Random, cloud-like formations. Requires 4 or more colors.
- A recursive algorithm repeatedly subdivides the screen and
- colors pixels according to an average of surrounding pixels
- and a random color, less random as the grid size decreases.
- Four parameters: 'graininess' (.5 to 50, default = 2), old/new
- algorithm, seed value used, 16-bit out output selection.
-
- popcorn (p. 42)
- The orbits in two dimensions defined by:
- x(0) = xpixel, y(0) = ypixel;
- x(n+1) = x(n) - h*sin(y(n) + tan(3*y(n))
- y(n+1) = y(n) - h*sin(x(n) + tan(3*x(n))
- are plotted for each screen pixel and superimposed.
- One parameter: step size h.
-
- popcornjul (p. 42)
- Conventional Julia using the popcorn formula:
- x(0) = xpixel, y(0) = ypixel;
- x(n+1) = x(n) - h*sin(y(n) + tan(3*y(n))
- y(n+1) = y(n) - h*sin(x(n) + tan(3*x(n))
- One parameter: step size h.
-
- quatjul (p. 60)
- Quaternion Julia set.
- q(0) = (xpixel,ypixel,zj,zk)
- q(n+1) = q(n)*q(n) + c.
- Four parameters: c, ci, cj, ck
- c = (c1,ci,cj,ck)
-
- Fractint Version 18.2 Page 137
-
- quat (p. 60)
- Quaternion Mandelbrot set.
- q(0) = (0,0,0,0)
- q(n+1) = q(n)*q(n) + c.
- Two parameters: cj,ck
- c = (xpixel,ypixel,cj,ck)
-
- rossler3D (p. 48)
- Orbit in three dimensions defined by:
- x(0) = y(0) = z(0) = 1;
- x(n+1) = x(n) - y(n)*dt - z(n)*dt
- y(n+1) = y(n) + x(n)*dt + a*y(n)*dt
- z(n+1) = z(n) + b*dt + x(n)*z(n)*dt - c*z(n)*dt
- Parameters are dt, a, b, and c.
-
- sierpinski (p. 40)
- Sierpinski gasket - Julia set producing a 'Swiss cheese triangle'
- z(n+1) = (2*x,2*y-1) if y > .5;
- else (2*x-1,2*y) if x > .5;
- else (2*x,2*y)
- No parameters.
-
- spider (p. 43)
- c(0) = z(0) = pixel;
- z(n+1) = z(n)^2 + c(n);
- c(n+1) = c(n)/2 + z(n+1)
- Parameters: real & imaginary perturbation of z(0)
-
- sqr(1/fn) (p. 43)
- z(0) = pixel;
- z(n+1) = (1/fn(z(n))^2
- One parameter: the function fn.
-
- sqr(fn) (p. 43)
- z(0) = pixel;
- z(n+1) = fn(z(n))^2
- One parameter: the function fn.
-
- test (p. 50)
- 'test' point letting us (and you!) easily add fractal types via
- the c module testpt.c. Default set up is a mandelbrot fractal.
- Four parameters: user hooks (not used by default testpt.c).
-
- tetrate (p. 43)
- z(0) = c = pixel;
- z(n+1) = c^z(n)
- Parameters: real & imaginary perturbation of z(0)
-
- tim's_error (p. 42)
- A serendipitous coding error in marksmandelpwr brings to life
- an ancient pterodactyl! (Try setting fn to sqr.)
- z(0) = pixel, c = z(0) ^ (z(0) - 1):
- tmp = fn(z(n))
- real(tmp) = real(tmp) * real(c) - imag(tmp) * imag(c);
- imag(tmp) = real(tmp) * imag(c) - imag(tmp) * real(c);
- z(n+1) = tmp + pixel;
-
- Fractint Version 18.2 Page 138
-
- Parameters: real & imaginary perturbations of z(0) and function fn
-
- unity (p. 43)
- z(0) = pixel;
- x = real(z(n)), y = imag(z(n))
- One = x^2 + y^2;
- y = (2 - One) * x;
- x = (2 - One) * y;
- z(n+1) = x + i*y
- No parameters.
-
- INSIDE=BOF60|BOF61|ZMAG|PERIOD
-
- Here is an *ATTEMPTED* explanation of what the inside=bof60 and
- inside=bof61 options do. This explanation is hereby dedicated to Adrian
- Mariano, who badgered it out of us! For the *REAL* explanation, see
- "Beauty of Fractals", page 62.
-
- Let p(z) be the function that is repeatedly iterated to generate a
- fractal using the escape-time algorithm. For example, p(z) = z^2+c in
- the case of a Julia set. Then let pk(z) be the result of iterating the
- function p for k iterations. (The "k" should be shown as a superscript.)
- We could also use the notation pkc(z) when the function p has a
- parameter c, as it does in our example. Now hold your breath and get
- your thinking cap on. Define a(c) = inf{|pck(0)|:k=1,2,3,...}. In
- English - a(c) is the greatest lower bound of the images of zero of as
- many iterations as you like. Put another way, a(c) is the closest to the
- origin any point in the orbit starting with 0 gets. Then the index (c)
- is the value of k (the iteration) when that closest point was achieved.
- Since there may be more than one, index(c) is the least such. Got it?
- Good, because the "Beauty of Fractals" explanation of this, is, ahhhh,
- *TERSE* ! Now for the punch line. Inside=bof60 colors the lake
- alternating shades according to the level sets of a(c). Each band
- represents solid areas of the fractal where the closest value of the
- orbit to the origin is the same. Inside=bof61 show domains where
- index(c) is constant. That is, areas where the iteration when the orbit
- swooped closest to the origin has the same value. Well, folks, that's
- the best we can do! Improved explanations will be accepted for the next
- edition!
-
- inside=zmag is similar. This option colors inside pixels according to
- the magnitude of the orbit point when maxiter was reached, using the
- formula color = (x^2 + y^2) * maxiter/2 + 1.
-
- inside=period colors pixels according to the length of their eventual
- cycle. For example, points that approach a fixed point have color=1.
- Points that approach a 2-cycle have color=2. Points that do not
- approach a cycle during the iterations performed have color=maxit. This
- option works best with a fairly large number of iterations.
-
- INSIDE=EPSCROSS|STARTRAIL
-
- Kenneth Hooper has written a paper entitled "A Note On Some Internal
- Structures Of The Mandelbrot Set" published in "Computers and Graphics",
- Vol 15, No.2, pp. 295-297. In that article he describes Clifford
- Pickover's "epsilon cross" method which creates some mysterious plant-
-
- Fractint Version 18.2 Page 139
-
- like tendrils in the Mandelbrot set. The algorithm is this. In the
- escape-time calculation of a fractal, if the orbit comes within .01 of
- the Y-axis, the orbit is terminated and the pixel is colored green.
- Similarly, the pixel is colored yellow if it approaches the X-axis.
- Strictly speaking, this is not an "inside" option because a point
- destined to escape could be caught by this bailout criterion.
-
- Hooper has another coloring scheme called "star trails" that involves
- detecting clusters of points being traversed by the orbit. A table of
- tangents of each orbit point is built, and the pixel colored according
- to how many orbit points are near the first one before the orbit flies
- out of the cluster. This option looks fine with maxiter=16, which
- greatly speeds the calculation.
-
- Both of these options should be tried with the outside color fixed
- (outside=<nnn>) so that the "lake" structure revealed by the algorithms
- can be more clearly seen. Epsilon Cross is fun to watch with boundary
- tracing turned on - even though the result is incorrect it is
- interesting! Shucks - what does "incorrect" mean in chaos theory
- anyway?!
-
- FINITE ATTRACTORS
-
- Many of Fractint's fractals involve the iteration of functions of
- complex numbers until some "bailout" value is exceeded, then coloring
- the associated pixel according to the number of iterations performed.
- This process identifies which values tend to infinity when iterated, and
- gives us a rough measure of how "quickly" they get there.
-
- In dynamical terms, we say that "Infinity is an Attractor", as many
- initial values get "attracted" to it when iterated. The set of all
- points that are attracted to infinity is termed The Basin of Attraction
- of Infinity. The coloring algorithm used divides this Basin of
- Attraction into many distinct sets, each a single band of one color,
- representing all the points that are "attracted" to Infinity at the same
- "rate". These sets (bands of color) are termed "Level Sets" - all
- points in such a set are at the same "Level" away from the attractor, in
- terms of numbers of iterations required to exceed the bailout value.
-
- Thus, Fractint produces colored images of the Level Sets of the Basin of
- Attraction of Infinity, for all fractals that iterate functions of
- Complex numbers, at least. Now we have a sound mathematical definition
- of what Fractint's "bailout" processing generates, and we have formally
- introduced the terms Attractor, Basin of Attraction, and Level Set, so
- you should have little trouble following the rest of this section!
-
- For certain Julia-type fractals, Fractint can also display the Level
- Sets of Basins of Attraction of Finite Attractors. This capability is a
- by-product of the implementation of the MAGNETic fractal types, which
- always have at least one Finite Attractor.
-
- This option can be invoked by setting the "Look for finite attractor"
- option on the <Y> options screen, or by giving the "finattract=yes"
- command-line option.
-
- Fractint Version 18.2 Page 140
-
- Most Julia-types that have a "lake" (normally colored blue by default)
- have a Finite Attractor within this lake, and the lake turns out to be,
- quite appropriately, the Basin of Attraction of this Attractor.
-
- The "finattract=yes" option (command-line or <Y> options screen)
- instructs Fractint to seek out and identify a possible Finite Attractor
- and, if found, to display the Level Sets of its Basin of Attraction, in
- addition to those of the Basin of Attraction of Infinity. In many cases
- this results in a "lake" with colored "waves" in it; in other cases
- there may be little change in the lake's appearance.
-
- For a quick demonstration, select a fractal type of LAMBDA, with a
- parameter of 0.5 + 0.5i. You will obtain an image with a large blue
- lake. Now set "Look for finite attractor" to 1 with the "Y" menu. The
- image will be re-drawn with a much more colorful lake. A Finite
- Attractor lives in the center of one of the resulting "ripple" patterns
- in the lake - turn the <O>rbits display on to see where it is - the
- orbits of all initial points that are in the lake converge there.
-
- Fractint tests for the presence of a Finite Attractor by iterating a
- Critical Value of the fractal's function. If the iteration doesn't bail
- out before exceeding twice the iteration limit, it is almost certain
- that we have a Finite Attractor - we assume that we have.
-
- Next we define a small circle around it and, after each iteration, as
- well as testing for the usual bailout value being exceeded, we test to
- see if we've hit the circle. If so, we bail out and color our pixels
- according to the number of iterations performed. Result - a nicely
- colored-in lake that displays the Level Sets of the Basin of Attraction
- of the Finite Attractor. Sometimes !
-
- First exception: This does not work for the lakes of Mandel-types.
- Every point in a Mandel-type is, in effect, a single point plucked from
- one of its related Julia-types. A Mandel-type's lake has an infinite
- number of points, and thus an infinite number of related Julia-type
- sets, and consequently an infinite number of finite attractors too. It
- *MAY* be possible to color in such a lake, by determining the attractor
- for EVERY pixel, but this would probably treble (at least) the number of
- iterations needed to draw the image. Due to this overhead, Finite
- Attractor logic has not been implemented for Mandel-types.
-
- Secondly, certain Julia-types with lakes may not respond to this
- treatment, depending on the parameter value used. E.g., the Lambda Set
- for 0.5 + 0.5i responds well; the Lambda Set for 0.0 + 1.0i does not -
- its lake stays blue. Attractors that consist of single points, or a
- cycle of a finite number of points are ok. Others are not. If you're
- into fractal technospeke, the implemented approach fails if the Julia-
- type is a Parabolic case, or has Siegel Disks, or has Herman Rings.
-
- However, all the difficult cases have one thing in common - they all
- have a parameter value that falls exactly on the edge of the related
- Mandel-type's lake. You can avoid them by intelligent use of the
- Mandel-Julia Space-Bar toggle: Pick a view of the related Mandel-type
- where the center of the screen is inside the lake, but not too close to
- its edge, then use the space-bar toggle. You should obtain a usable
- Julia-type with a lake, if you follow this guideline.
-
- Fractint Version 18.2 Page 141
-
- Thirdly, the initial implementation only works for Julia-types that use
- the "Standard" fractal engine in Fractint. Fractals with their own
- special algorithms are not affected by Finite Attractor logic, as yet.
-
- Finally, the finite attractor code will not work if it fails to detect a
- finite attractor. If the number of iterations is set too low, the
- finite attractor may be missed.
-
- Despite these restrictions, the Finite Attractor logic can produce
- interesting results. Just bear in mind that it is principally a bonus
- off-shoot from the development of the MAGNETic fractal types, and is not
- specifically tuned for optimal performance for other Julia types.
-
- (Thanks to Kevin Allen for the above).
-
- There is a second type of finite attractor coloring, which is selected
- by setting "Look for Finite Attractor" to a negative value. This colors
- points by the phase of the convergence to the finite attractor, instead
- of by the speed of convergence.
-
- For example, consider the Julia set for -0.1 + 0.7i, which is the three-
- lobed "rabbit" set. The Finite Attractor is an orbit of length three;
- call these values a, b, and c. Then, the Julia set iteration can
- converge to one of three sequences: a,b,c,a,b,c,..., or b,c,a,b,c,...,
- or c,a,b,c,a,b,... The Finite Attractor phase option colors the
- interior of the Julia set with three colors, depending on which of the
- three sequences the orbit converges to. Internally, the code determines
- one point of the orbit, say "a", and the length of the orbit cycle, say
- 3. It then iterates until the sequence converges to a, and then uses
- the iteration number modulo 3 to determine the color.
-
-
- TRIG IDENTITIES
-
- The following trig identities are invaluable for coding fractals that
- use complex-valued transcendental functions.
-
- e^(x+iy) = (e^x)cos(y) + i(e^x)sin(y)
-
- sin(x+iy) = sin(x)cosh(y) + icos(x)sinh(y)
- cos(x+iy) = cos(x)cosh(y) - isin(x)sinh(y)
- sinh(x+iy) = sinh(x)cos(y) + icosh(x)sin(y)
- cosh(x+iy) = cosh(x)cos(y) + isinh(x)sin(y)
-
- cosxx(x+iy) = cos(x)cosh(y) + isin(x)sinh(y)
- (cosxx is present in Fractint to provide compatibility with a bug
- which was in its cos calculation before version 16)
-
- ln(x+iy) = (1/2)ln(x*x + y*y) + i(arctan(y/x) + 2kPi)
- (k = 0, +-1, +-2, +-....)
-
- sin(2x) sinh(2y)
- tan(x+iy) = ------------------ + i------------------
- cos(2x) + cosh(2y) cos(2x) + cosh(2y)
-
- Fractint Version 18.2 Page 142
-
- sinh(2x) sin(2y)
- tanh(x+iy) = ------------------ + i------------------
- cosh(2x) + cos(2y) cosh(2x) + cos(2y)
-
- sin(2x) - i*sinh(2y)
- cotan(x+iy) = --------------------
- cosh(2y) - cos(2x)
-
- sinh(2x) - i*sin(2y)
- cotanh(x+iy) = --------------------
- cosh(2x) - cos(2y)
-
- z^z = e^(log(z)*z)
-
- log(x+iy) = 1/2(log(x*x + y*y) + i(arc_tan(y/x))
-
- e^(x+iy) = (cosh(x) + sinh(x)) * (cos(y) + isin(y))
- = e^x * (cos(y) + isin(y))
- = (e^x * cos(y)) + i(e^x * sin(y))
-
- Fractint Version 18.2 Page 143
-
- Appendix B Stone Soup With Pixels: The Authors
-
- THE STONE SOUP STORY
-
- Once upon a time, somewhere in Eastern Europe, there was a great famine.
- People jealously hoarded whatever food they could find, hiding it even
- from their friends and neighbors. One day a peddler drove his wagon into
- a village, sold a few of his wares, and began asking questions as if he
- planned to stay for the night.
-
- [No! No! It was three Russian Soldiers! - Lee Crocker]
- [Wait! I heard it was a Wandering Confessor! - Doug Quinn]
- [Well *my* kids have a book that uses Russian Soldiers! - Bert]
- [Look, who's writing this documentation, anyway? - Monte]
- [Ah, but who gets it *last* and gets to upload it? - Bert]
-
- "There's not a bite to eat in the whole province," he was told. "Better
- keep moving on."
-
- "Oh, I have everything I need," he said. "In fact, I was thinking of
- making some stone soup to share with all of you." He pulled an iron
- cauldron from his wagon, filled it with water, and built a fire under
- it. Then, with great ceremony, he drew an ordinary-looking stone from a
- velvet bag and dropped it into the water.
-
- By now, hearing the rumor of food, most of the villagers had come to the
- square or watched from their windows. As the peddler sniffed the "broth"
- and licked his lips in anticipation, hunger began to overcome their
- skepticism.
-
- "Ahh," the peddler said to himself rather loudly, "I do like a tasty
- stone soup. Of course, stone soup with CABBAGE -- that's hard to beat."
-
- Soon a villager approached hesitantly, holding a cabbage he'd retrieved
- from its hiding place, and added it to the pot. "Capital!" cried the
- peddler. "You know, I once had stone soup with cabbage and a bit of salt
- beef as well, and it was fit for a king."
-
- The village butcher managed to find some salt beef...and so it went,
- through potatoes, onions, carrots, mushrooms, and so on, until there was
- indeed a delicious meal for all. The villagers offered the peddler a
- great deal of money for the magic stone, but he refused to sell and
- traveled on the next day. And from that time on, long after the famine
- had ended, they reminisced about the finest soup they'd ever had.
-
- ***
-
- That's the way Fractint has grown, with quite a bit of magic, although
- without the element of deception. (You don't have to deceive programmers
- to make them think that hours of painstaking, often frustrating work is
- fun... they do it to themselves.)
-
- It wouldn't have happened, of course, without Benoit Mandelbrot and the
- explosion of interest in fractal graphics that has grown from his work
- at IBM. Or without the example of other Mandelplotters for the PC. Or
- without those wizards who first realized you could perform Mandelbrot
-
- Fractint Version 18.2 Page 144
-
- calculations using integer math (it wasn't us - we just recognize good
- algorithms when we steal--uhh--see them). Or those graphics experts who
- hang around the Compuserve PICS forum and keep adding video modes to the
- program. Or...
-
- A WORD ABOUT THE AUTHORS
-
- Fractint is the result of a synergy between the main authors, many
- contributors, and published sources. All four of the main authors have
- had a hand in many aspects of the code. However, each author has
- certain areas of greater contribution and creativity. Since there is
- not room in the credits screen for the contributions of the main
- authors, we list these here to facilitate those who would like to
- communicate with us on particular subjects.
-
- Bert Tyler is the original author. He wrote the "blindingly fast" 386-
- specific 32 bit integer math code and the original video mode logic.
- Bert made Stone Soup possible, and provides a sense of direction when we
- need it. His forte is writing fast 80x86 assembler, his knowledge of a
- variety of video hardware, and his skill at hacking up the code we send
- him!
-
- Bert has a BA in mathematics from Cornell University. He has been in
- programming since he got a job at the computer center in his sophomore
- year at college - in other words, he hasn't done an honest day's work in
- his life. He has been known to pass himself off as a PC expert, a UNIX
- expert, a statistician, and even a financial modeling expert. He is
- currently masquerading as an independent PC consultant, supporting the
- PC-to-Mainframe communications environment at NIH. If you sent mail
- from the Internet to an NIH staffer on his 3+Mail system, it was
- probably Bert's code that mangled it during the Internet-to-3+Mail
- conversion. He also claims to support the MS-Kermit environment at NIH.
- Fractint is Bert's first effort at building a graphics program.
-
- Tim Wegner contributed the original implementation of palette animation,
- and is responsible for most of the 3D mechanisms. He provided the main
- outlines of the "StandardFractal" engine and data structures, and is
- accused by his cohorts of being "obsessed with options". Tim is quite
- proud of having originally integrated the 256 color super VGA modes in
- Fractint, especially since he knows almost nothing about it!
-
- Tim has BA and MA degrees in mathematics from Carleton College and the
- University of California Berkeley. He worked for 7 years overseas as a
- volunteer, doing things like working with Egyptian villagers building
- water systems. Since returning to the US in 1982, he has written shuttle
- navigation software, a software support environment prototype, and
- supported strategic information planning, all at NASA's Johnson Space
- Center.
-
- Mark Peterson invented the periodicity detection logic, several original
- fractal types, transcendental function libraries, alternate math
- implementations, the formula compiler, and the "Julibrot" intrinsic 3D
- fractals - in other words, most of the truly original ideas in Fractint!
-
- Fractint Version 18.2 Page 145
-
- Mark's knowledge of higher mathematics and programming was achieved
- almost entirely through self-study. Mark has written several magazine
- articles on computer programming and is coauthor of a book on Fractint
- called Fractal Creations. Mark is also a free-lance computer consultant
- specializing in high performance applications.
-
- Pieter Branderhorst is a late-comer to the group who likes to distract
- the other authors with enhancements impacting at least half of the
- source at once. His contributions include super solid guessing, image
- rotation, resume, fast disk caching, and the new user interface. More
- than any of the authors, he has personally touched and massaged the
- entire source.
-
- Pieter left high school to work with computers, back when huge machines
- had 64k of core. He's been happily computing since, mostly programming
- and designing software from comms firmware to database and o/s, and
- anything between, and large scale online transaction processing
- applications. He has worked as a free-lance computer consultant
- (whatever that means) since 1983.
-
- DISTRIBUTION OF FRACTINT
-
- New versions of FRACTINT are uploaded to the CompuServe network, and
- make their way to other systems from that point. FRACTINT is available
- as two self-extracting archive files - FRAINT.EXE (executable &
- documentation) and FRASRC.EXE (source code).
-
- The latest version can always be found on CompuServe in the "Fractal
- Sources" library of the GRAPHDEV forum. If you're not a Compuserve
- subscriber, but wish to get more information about Compuserve and its
- graphics forums, feel free to call their 800 number (800-848-8199) and
- ask for operator number 229.
-
- If you don't have access to Compuserve, many other sites tend to carry
- these files shortly after their initial release (although sometimes
- using different naming conventions). For instance...
-
- If you speak Internet and FTP, SIMTEL20 and its various mirror sites
- tend to carry new versions of Fractint shortly after they are released.
- look in the PD:<MSDOS.GRAPHICS> directory for files named FRA*.*. Then
- again, if you don't speak Internet and FTP...
-
- Your favorite local BBS probably carries these files as well (although
- perhaps not the latest versions) using naming conventions like FRA*.ZIP.
- One BBS that *does* carry the latest version is the "Ideal Studies BBS"
- (508)757-1806, 1200/2400/9600HST. Peter Longo is the SYSOP and a true
- fractal fanatic. There is a very short registration, and thereafter the
- entire board is open to callers on the first call. Then again, if you
- don't even have a modem...
-
- Many Shareware/Freeware library services will ship you diskettes
- containing the latest versions of Fractint for a nominal fee that
- basically covers their cost of packaging and a small profit that we
- don't mind them making. One in particular is the Public (Software)
- Library, PO Box 35705, Houston, TX 77235-5705, USA. Their phone number
- is 800-242-4775 (outside the US, dial 713-524-6394). Ask for item #9112
-
- Fractint Version 18.2 Page 146
-
- for five 5.25" disks, #9113 for three 3.5" disks. Cost is $6.99 plus $4
- S&H in the U.S./Canada, $11 S&H overseas.
-
- In Europe, the latest versions are available from another Fractint
- enthusiast, Jon Horner - Editor of FRAC'Cetera, a disk-based
- fractal/chaos resource. Disk prices for UK/Europe are: 5.25" HD
- BP4.50/5.00 : 3.5" HD BP (British Pounds) 5.00/5.50. Prices include
- p&p (airmail to Europe). Contact: Jon Horner, FRAC'Cetera, Le Mont
- Ardaine, Rue des Ardaines, St. Peters, Guernsey GY7 9EU, CI, UK. Phone
- (44) 0481 63689. CIS 100112,1700
-
- The X Windows port of Fractint maintained by Ken Shirriff is available
- via FTP from sprite.berkeley.edu.
-
-
- CONTACTING THE AUTHORS
-
- Communication between the authors for development of the next version of
- Fractint takes place in GRAPHDEV (Graphics Developers) Section 4
- (Fractal Sources) of CompuServe (CIS).
-
- Most of the authors have never met except on Compuserve. Access to the
- GRAPHDEV forum is open to any and all interested in computer generated
- fractals. New members are always welcome! Stop on by if you have any
- questions or just want to take a peek at what's getting tossed into the
- soup.
-
- Also, you'll find many GIF image files generated by fellow Fractint fans
- and many fractal programs as well in the GRAPHDEV forum's data library
- 5.
-
- If you're not a Compuserve subscriber, but wish to get more information
- about Compuserve and its graphics forums, feel free to call their 800
- number (800-848-8199) and ask for operator number 229.
-
- The following authors have agreed to the distribution of their
- addresses. Usenet/Internet/Bitnet/Whatevernet users can reach CIS users
- directly if they know the user ID (i.e., Bert Tyler can be reached as
- 73477.433@compuserve.com).
-
- Just remember that CIS charges by the minute, so it costs us a little
- bit to read a message -- don't kill us with kindness. And don't send all
- your mail to Bert -- spread it around a little!
-
- Main authors (in historical order):
-
- Bert Tyler [73477,433] on CIS
- Tyler Software (which is also 73477.433@compuserve.com, if
- 124 Wooded Lane you're on the Internet - see above)
- Villanova, PA 19085
- (215) 525-5478
-
- Timothy Wegner [71320,675] on CIS
- 4714 Rockwood twegner@mitre.org on Internet
- Houston, TX 77004
- (713) 747-7543
-
- Fractint Version 18.2 Page 147
-
- Mark Peterson [70441,3353] on CIS
- The Yankee Programmer
- 405-C Queen St., Suite #181
- Southington, CT 06489
- (203) 276-9721
-
- Pieter Branderhorst [72611,2257] on CIS
- Amthor Computer Consultants
- 270 Moss St.
- Victoria, BC
- Canada, V8V 4M4
- (604) 381-7164
-
- Contributing authors (in alphabetic order);
-
- Joseph A Albrecht
- 9250 Old Cedar Ave #215
- Bloomington, Mn 55425
- (612) 884-3286
-
- Kevin C Allen kevina@microsoft.com on Internet
- 9 Bowen Place
- Seven Hills
- NSW 2147
- Australia
- +61-2-870-2297 (Work)
- (02) 831-4821 (Home)
-
- Rob Beyer [71021,2074] on CIS
- 23 Briarwood Lane
- Laguna Hills, CA, 92656
- (714) 957-0227
- (7-12pm PST & weekends)
-
- John W. Bridges (Author GRASP/Pictor, Imagetools, PICEM, VGAKIT)
- 2810 Serang Place Costa Mesa
- California 92626-4827 [75300,2137] on CIS, GENIE:JBRIDGES
-
- Juan J Buhler jbuhler@usina.org.ar
- Santa Fe 2227 1P "E"
- (54-1) 84 3528
- Buenos Aires
- Argentina
-
- Michael D. Burkey burkey@sun9.math.utk.edu on Internet
- 6600 Crossgate Rd.
- Knoxville, TN 37912
- Robin Bussell
- 13 Bayswater Rd
- Horfield
- Bristol
- Avon, England
- (044)-0272-514451
-
- Fractint Version 18.2 Page 148
-
- Lee Daniel Crocker [73407,2030] on CIS
- 5506 Camden Ave #D3 leecr@microsoft.com
- San Jose, CA 95124
- (408) 267-2926
-
- Monte Davis [71450,3542] on CIS
- 223 Vose Avenue
- South Orange, NJ 07079
- (201) 378-3327
-
- David Guenther [70531,3525] on CIS
- 50 Rockview Drive
- Irvine, CA 92715
- Michael L. Kaufman kaufman@eecs.nwu.edu on INTERNET
- 2247 Ridge Ave, #2K (also accessible via EXEC-PC bbs)
- Evanston, IL, 60201
- (708) 864-7916
-
- Wesley Loewer loewer@largo.star.harc.edu on INTERNET
- 78 S. Circlewood Glen
- The Woodlands, TX 77381
- (713) 292-3449
-
-
- Adrian Mariano adrian@u.washington.edu on INTERNET
- 2729 72nd AVE SE
- Mercer Island, WA 98040
-
- Joe McLain [75066,1257] on CIS
- McLain Imaging
- 2417 Venier
- Costa Mesa, CA 92627
- (714) 642-5219
-
- Bob Montgomery [73357,3140] on CIS
- (Author of VPIC)
- 132 Parsons Road
- Longwood, Fl 32779
-
- Roy Murphy [76376,721] on CIS
- 9050 Ewing Ave.
- Evanston, IL 60203
-
- Ethan Nagel [71062,3677] on CIS
- 4209 San Pedro NE #308
- Albuquerque, NM 87109
- (505) 884-7442
-
- Jonathan Osuch [73277,1432] on CIS
- 2110 Northview Drive
- Marion, IA 52302
-
- Marc Reinig [72410,77] on CIS
- 3415 Merrill Rd. marco@sun.com!daver!cypress on Usenet
- Aptos, CA. 95003
- (408) 475-2132
-
- Fractint Version 18.2 Page 149
-
- Prof. JM Richard-Collard mpi@frmop53.bitnet on BitNet
- mpi@cnuvx1.cnusc.fr on Internet
-
- Lee H. Skinner [75450,3631] on CIS
- P.O. Box 14944
- Albuquerque, NM 87191
- (505) 293-5723
-
- Dean Souleles [75115,1671] on CIS
- 8840 Collett Ave.
- Sepulveda, CA 91343
- (818) 893-7558
-
- Chris J Lusby Taylor
- 32 Turnpike Road
- Newbury, England
- Tel 011 44 635 33270
-
- Scott Taylor [72401,410] on CIS
- 2913 Somerville Drive Apt #1 scott@bohemia.metronet.org on Internet
- Ft. Collins, Co 80526 DGWM18A on Prodigy
- (303) 221-1206
-
- Paul Varner [73237,441] on CIS
- PO Box 930
- Shepherdstown, WV 25443
- (304) 876-2011
-
- Phil Wilson [76247,3145] on CIS
- 410 State St., #55
- Brooklyn, NY 11217
- (718) 624-5272
-
- Fractint Version 18.2 Page 150
-
- Appendix C GIF Save File Format
-
- Since version 5.0, Fractint has had the <S>ave-to-disk command, which
- stores screen images in the extremely compact, flexible .GIF (Graphics
- Interchange Format) widely supported on Compuserve. Version 7.0 added
- the <R>estore-from-disk capability.
-
- Until version 14, Fractint saved images as .FRA files, which were a non-
- standard extension of the then-current GIF87a specification. The reason
- was that GIF87a did not offer a place to store the extra information
- needed by Fractint to implement the <R> feature -- i.e., the parameters
- that let you keep zooming, etc. as if the restored file had just been
- created in this session. The .FRA format worked with all of the popular
- GIF decoders that we tested, but these were not true GIF files. For one
- thing, information after the GIF terminator (which is where we put the
- extra info) has the potential to confuse the online GIF viewers used on
- Compuserve. For another, it is the opinion of some GIF developers that
- the addition of this extra information violates the GIF87a spec. That's
- why we used the default filetype .FRA instead.
-
- Since version 14, Fractint has used a genuine .GIF format, using the
- GIF89a spec - an upwardly compatible extension of GIF87a, released by
- Compuserve on August 1 1990. This new spec allows the placement of
- application data within "extension blocks". In version 14 we changed
- our default savename extension from .FRA to .GIF.
-
- There is one significant advantage to the new GIF89a format compared to
- the old GIF87a-based .FRA format for Fractint purposes: the new .GIF
- files may be uploaded to the Compuserve graphics forums (such as
- Fractint's home forum, GRAPHDEV) with fractal information intact.
- Therefore anyone downloading a Fractint image from Compuserve will also
- be downloading all the information needed to regenerate the image.
-
- Fractint can still read .FRA files generated by earlier versions. If
- for some reason you wish to save files in the older GIF87a format, for
- example because your favorite GIF decoder has not yet been upgraded to
- GIF89a, use the command-line parameter "GIF87a=yes". Then any saved
- files will use the original GIF87a format without any application-
- specific information.
-
- An easy way to convert an older .FRA file into true .GIF format suitable
- for uploading is something like this at the DOS prompt:
- FRACTINT MYFILE.FRA SAVENAME=MYFILE.GIF BATCH=YES
- Fractint will load MYFILE.FRA, save it in true .GIF format as
- MYFILE.GIF, and return to DOS.
-
- GIF and "Graphics Interchange Format" are trademarks of Compuserve
- Incorporated, an H&R Block Company.
-
- Fractint Version 18.2 Page 151
-
- Appendix D Other Fractal Products
-
- Fractint Version 18.2 Page 152
-
- Appendix E Bibliography
-
- BARNSLEY, Michael: "Fractals Everywhere," Academic Press, 1988.
-
- DEWDNEY, A. K., "Computer Recreations" columns in "Scientific American"
- -- 8/85, 7/87, 11/87, 12/88, 7/89.
-
- FEDER, Jens: "Fractals," Plenum, 1988.
- Quite technical, with good coverage of applications in fluid
- percolation, game theory, and other areas.
-
- GLEICK, James: "Chaos: Making a New Science," Viking Press, 1987.
- The best non-technical account of the revolution in our understanding
- of dynamical systems and its connections with fractal geometry.
-
- MANDELBROT, Benoit: "The Fractal Geometry of Nature," W. H. Freeman &
- Co., 1982.
- An even more revised and expanded version of the 1977 work. A rich
- and sometimes confusing stew of formal and informal mathematics, the
- prehistory of fractal geometry, and everything else. Best taken in
- small doses.
-
- MANDELBROT, Benoit: "Fractals: Form, Chance, and Dimension," W. H.
- Freeman & Co., 1977.
- A much revised translation of "Les objets fractals: forme, hasard, et
- dimension," Flammarion, 1975.
-
- PEITGEN, Heinz-Otto & RICHTER, Peter: "The Beauty of Fractals,"
- Springer-Verlag, 1986.
- THE coffee-table book of fractal images, knowledgeable on computer
- graphics as well as the mathematics they portray.
-
- PEITGEN, Heinz-Otto & SAUPE, Ditmar: "The Science of Fractal Images,"
- Springer-Verlag, 1988.
- A fantastic work, with a few nice pictures, but mostly filled with
- *equations*!!!
-
- PICKOVER, Clifford: "Computers, Pattern, Chaos, and Beauty," St.
- Martin's Press, 1990.
-
- SCHROEDER, Manfred: "Fractals, Chaos, Power Laws," W. H. Freeman & Co.,
- 1991.
-
- WEGNER, Timothy & PETERSON, Mark: "Fractal Creations," Waite Group
- Press, 1991 (second edition, by Wegner and Tyler, due in the fall of
- 1993).
- If we tell you how *wonderful* this book is you might think we were
- bragging, so let's just call it: THE definitive companion to
- Fractint!
-
- WEGNER, Timothy & PETERSON, Mark & TYLER, Bert, & Branderhorst, Pieter:
- "Fractals for Windows," Waite Group Press, 1992.
- This book is to Winfract (the Windows version of Fractint) what
- "Fractals for Windows" is to Fractint.
-
- Fractint Version 18.2 Page 153
-
- Appendix F Other Programs
-
- WINFRACT. Bert Tyler has ported Fractint to run under Windows 3! The
- same underlying code is used, with a Windows user interface. Winfract
- has almost all the functionality of Fractint - the biggest difference is
- the absence of a zillion weird video modes. Fractint for DOS will
- continue to be the definitive version. Winfract is available from
- CompuServe in GRAPHDEV Lib 4, as WINFRA.ZIP (executable) and WINSRC.ZIP
- (source).
-
-
- PICLAB, by Lee Crocker - a freeware image manipulation utility available
- from Compuserve in PICS Lib 10, as PICLAB.EXE. PICLAB can do very
- sophisticated resizing and color manipulation of GIF and TGA files. It
- can be used to reduce 24 bit TGA files generated with the Fractint
- "lightname" option to GIF files.
-
-
- FDESIGN, by Doug Nelson (CIS ID 70431,3374) - a freeware IFS fractal
- generator available from Compuserve in GRAPHDEV Lib 4, and probably on
- your local BBS. This program requires a VGA adapter and a Microsoft-
- compatible mouse, and a floating point coprocessor is highly
- recommended. It generates IFS fractals in a *much* more intuitive
- fashion than Fractint. It can also (beginning with version 3.0) save
- its IFS formulas in Fractint-style .IFS files.
-
- ACROSPIN, by David Parker - An inexpensive commercial program that reads
- an object definition file and creates images that can be rapidly rotated
- in three dimensions. The Fractint "orbitsave=yes" option creates files
- that this program can read for orbit-type fractals and IFS fractals.
- Contact:
- David Parker 801-966-2580
- P O Box 26871 800-227-6248
- Salt Lake City, UT 84126-0871
-
- Fractint Version 18.2 Page 154
-
- Appendix G Revision History
-
- Version 17.2, 3/92
-
- - Fixed a bug which caused Fractint to hang when a Continuous Potential
- Bailout value was set (using the 'Y') screen and then the 'Z' screen
- was activated.
- - fixed a bug which caused "batch=yes" runs to abort whenever any
- key was pressed.
- - bug-fixes in the Stereo3D/Targa logic from Marc Reinig.
- - Fractint now works correctly again on FPU-less 8088s when
- zoomed deeply into the Mandelbrot/Julia sets
- - The current image is no longer marked as "not resumable" on a
- Shell-To-Dos ("D") command.
- - fixed a bug which prevented the "help" functions from working
- properly during fractal-type selection for some fractal types.
-
- Version 17.1, 3/92
-
- - fixed a bug which caused PCs with no FPU to lock up when they
- attempted
- to use some fractal types.
- - fixed a color-cycling bug which caused the palette to single-step
- when you pressed ESCAPE to exit color-cycling.
- - fixed the action of the '<' and '>' keys during color-cycling.
-
- Version 17.0, 2/92
-
- - New fractal types (but of course!):
-
- Lyapunov Fractals from Roy Murphy (see Lyapunov Fractals (p. 57) for
- details)
-
- 'BifStewart' (Stewart Map bifurcation) fractal type and new bifurcation
- parameters (filter cycles, seed population) from Kevin Allen.
-
- Lorenz3d1, Lorenz3d2, and Lorenz3d3 fractal types from Scott Taylor.
- Note that a bug in the Lorenz3d1 fractal prevents zooming-out from
- working with it at the moment.
-
- Martin, Circle, and Hopalong (culled from Dewdney's Scientific American
- Article)
-
- Lots of new entries in fractint.par.
-
- New ".L" files (TILING.L, PENROSE.L)
-
- New 'rand()' function added to the 'type=formula' parser
-
- - New fractal generation options:
-
- New 'Tesseral' calculation algorithm (use the 'X' option list to select
- it) from Chris Lusby Taylor.
-
- Fractint Version 18.2 Page 155
-
- New 'Fillcolor=' option shows off Boundary Tracing and Tesseral
- structure
-
- inside=epscross and inside=startrail options taken from a paper by
- Kenneth Hooper, with credit also to Clifford Pickover
-
- New Color Postscript Printer support from Scott Taylor.
-
- Sound= command now works with <O>rbits and <R>ead commands.
-
- New 'orbitdelay' option in X-screen and command-line interface
-
- New "showdot=nn" command-line option that displays the pixel currently
- being worked on using the specified color value (useful for those
- lloooonngg images being calculated using solid guessing - "where is it
- now?").
-
- New 'exitnoask=yes' commandline/SSTOOLS.INI option to avoid the final
- "are you sure?" screen
-
- New plasma-cloud options. The interface at the moment (documented here
- and here only because it might change later) lets you:
- - use an alternate drawing algorithm that gives you an earlier preview
- of the finished image. - re-generate your favorite plasma cloud
- (say, at a higher resolution)
- by forcing a re-select of the random seed.
-
- New 'N' (negative palette) option from Scott Taylor - the documentation
- at this point is: Pressing 'N' while in the palette editor will invert
- each color. It will convert only the current color if it is in 'x' mode,
- a range if in 'y' mode, and every color if not in either the 'x' or 'y'
- mode.
-
- - Speedups:
-
- New, faster floating-point Mandelbrot/Julia set code from Wesley Loewer,
- Frank Fussenegger and Chris Lusby Taylor (in separate contributions).
-
- Faster non-386 integer Mandelbrot code from Chris Lusby Taylor, Mike
- Gelvin and Bill Townsend (in separate contributions)
-
- New integer Lsystems logic from Nicholas Wilt
-
- Finite-Attractor fixups and Lambda/mandellambda speedups from Kevin
- Allen.
-
- GIF Decoder speedups from Mike Gelvin
-
- - Bug-fixes and other enhancements:
-
- Fractint now works with 8088-based AMSTRAD computers.
-
- The video logic is improved so that (we think) fewer video boards will
- need "textsafe=save" for correct operation.
-
- Fractint Version 18.2 Page 156
-
- Fixed a bug in the VESA interface which effectively messed up adapters
- with unusual VESA-style access, such as STB's S3 chipset.
-
- Fixed a color-cycling bug that would at times restore the wrong colors
- to your image if you exited out of color-cycling, displayed a 'help'
- screen, and then returned to the image.
-
- Fixed the XGA video logic so that its 256-color modes use the same
- default 256 colors as the VGA adapter's 320x200x256 mode.
-
- Fixed the 3D bug that caused bright spots on surfaces to show as black
- blotches of color 0 when using a light source.
-
- Fixed an image-generation bug that sometimes caused image regeneration
- to restart even if not required if the image had been zoomed in to the
- point that floating-point had been automatically activated.
-
- Added autodetection and 640x480x256 support for the Compaq Advanced VGA
- Systems board - I wonder if it works?
-
- Added VGA register-compatible 320x240x256 video mode.
-
- Fixed the "logmap=yes" option to (again) take effect for continuous
- potential images. This was broken in version 15.x.
-
- The colors for the floating-point algorithm of the Julia fractal now
- match the colors for the integer algorithm.
-
- If the GIF Encoder (the "Save" command) runs out of disk space, it now
- tells you about it.
-
- If you select both the boundary-tracing algorithm and either "inside=0"
- or "outside=0", the algorithm will now give you an error message instead
- of silently failing.
-
- Updated 3D logic from Marc Reinig.
-
- Minor changes to permit IFS3D fractal types to be handled properly using
- the "B" command.
-
- Minor changes to the "Obtaining the latest Source" section to refer to
- BBS access (Peter Longo's) and mailed diskettes (the Public (Software)
- Library).
-
-
- Version 16.12, 8/91
-
- Fix to cure some video problems reported with Amstrad 8088/8086-based
- PCs.
-
- Version 16.11, 7/91
-
- SuperVGA Autodetect fixed for older Tseng 3000 adapters.
-
- Fractint Version 18.2 Page 157
-
- New "adapter=" options to force the selection of specific SuperVGA
- adapter types. See Video Parameters (p. 101) for details.
-
- Integer/Floating-Point math toggle is changed only temporarily if
- floating-point math is forced due to deep zooming.
-
- Fractint now survives being modified by McAfee's "SCAN /AV" option.
-
- Bug Fixes for Acrospin interface, 3D "Light Source Before
- Transformation" fill type, and GIF decoder.
-
- New options in the <Z> parameters screen allow you to directly enter
- image coordinates.
-
- New "inside=zmag" and "outside=real|imag|mult|summ" options.
-
- The GIF Decoder now survives reading GIF files with a local color map.
- Improved IIT Math Coprocessor support.
-
- New color-cycling single-step options, '<' and '>'.
-
- Version 16.0, 6/91
-
- Integrated online help / fractint.doc system from Ethan Nagel. To
- create a printable fractint.doc file see Startup Parameters (p. 92)
- .
-
- Over 350 screens of online help! Try pressing <F1> just about
- anywhere!
-
- New "autokey" feature. Type "demo" to run the included demo.bat and
- demo.key files for a great demonstration of Fractint. See Autokey
- Mode (p. 66) for details.
-
- New <@> command executes a saved set of commands. The <b> command has
- changed to write the current image's parameters as a named set of
- commands in a structured file. Saved sets of commands can
- subsequently be executed with the <@> command. See Parameter
- Save/Restore Commands (p. 22). A default "fractint.par" file is
- included with the release.
-
- New <z> command allows changing fractal type-specific parameters
- without going back through the <t> (fractal type selection) screen.
-
- Ray tracer interface from Marc Reinig, generates 3d transform output
- for a number of ray tracers; see "Interfacing with Ray Tracing
- Programs" (p. 87)
-
- Selection of video modes and structure of "fractint.cfg" have changed.
- If you have a customized fractint.cfg file, you'll have to rebuild
- it based on this release's version. You can customize the assignment
- of your favorite video modes to function keys; see Video Mode
- Function Keys (p. 27). <delete> is a new command key which goes
- directly to video mode selection.
-
- Fractint Version 18.2 Page 158
-
- New "cyclerange" option (command line and <y> options screen) from
- Hugh Steele. Limits color cycling to a specified range of colors.
-
- Improved Distance Estimator Method (p. 68) algorithm from Phil
- Wilson.
-
- New "ranges=" option from Norman Hills. See Logarithmic Palettes and
- Color Ranges (p. 71) for details.
-
- type=formula definitions can use "variable functions" to select sin,
- cos, sinh, cosh, exp, log, etc at run time; new built-ins tan, tanh,
- cotan, cotanh, and flip are available with type=formula; see Type
- Formula (p. 51)
-
- New <w> command in palette editing mode to convert image to greyscale
-
- All "fn" fractal types (e.g. fn*fn) can now use new functions tan,
- tanh, cotan, cotanh, recip, and ident; bug in prior cos function
- fixed, new function cosxx (conjugate of cos) is the old erroneous
- cos calculation
-
- New L-Systems from Herb Savage
- New IFS types from Alex Matulich
- Many new formulas in fractint.frm, including a large group from JM
- Richard-Collard
- Generalized type manzpwr with complex exponent per Lee Skinner's
- request
- Initial orbit parameter added to Gingerbreadman fractal type
-
- New color maps (neon, royal, volcano, blues, headache) from Daniel
- Egnor
-
- IFS type has changed to use a single file containing named entries
- (instead of a separate xxx.ifs file per type); the <z> command
- brings up IFS editor (used to be <i> command). See Barnsley IFS
- Fractals (p. 39).
-
- Much improved support for PaintJet printers; see PaintJet Parameters
- (p. 107)
-
- From Scott Taylor:
- Support for plotters using HP-GL; see Plotter Parameters (p. 108)
- Lots of new PostScript halftones; see PostScript Parameters (p. 105)
- "printer=PS[L]/0/..." for full page PostScript; see PostScript
- Parameters (p. 105)
- Option to drive printer ports directly (faster); see Printer
- Parameters (p. 104)
- Option to change printer end of line control chars; see Printer
- Parameters (p. 104)
-
- Support for XGA video adapter
- Support for Targa+ video adapter
- 16 color VGA mode enhancements:
- Now use the first 16 colors of .map files to be more predictable
- Palette editor now works with these modes
- Color cycling now works properly with these modes Targa video
-
- Fractint Version 18.2 Page 159
-
- adapter fixes; Fractint now uses (and requires) the "targa"
- and "targaset" environment variables for Targa systems
- "vesadetect=no" parameter to bypass use of VESA video driver; try
- this if you encounter video problems with a VESA driver Upgraded
- video adapter detect and handling from John Bridges; autodetect
- added for NCR, Trident 8900, Tseng 4000, Genoa (this code is from a
- beta release of VGAKIT, we're not sure it all works yet)
-
- Zoom box is included in saved/printed images (but, is not recognized
- as anything special when such an image is restored)
-
- The colors numbers reserved by the palette editor are now selectable
- with the new <v> palette editing mode command
-
- Option to use IIT floating point chip's special matrix arithmetic for
- faster 3D transforms; see "fpu=" in Startup Parameters (p. 92)
-
- Disk video cache increased to 64k; disk video does less seeking when
- running to real disk
- Faster floating point code for 287 and higher fpus, for types mandel,
- julia, barnsleyj1/m1/j2/m2, lambda, manowar, from Chuck Ebbert
-
- "filename=.xxx" can be used to set default <r> function file mask
-
- Selection of type formula or lsys now goes directly to entry selection
- (file selection step is now skipped); to change to a different file,
- use <F6> from the entry selection screen
-
- Three new values have been added to the textcolors= parameter; if you
- use this parameter you should update it by inserting values for the
- new 6th, 7th, 9th, and 13th positions; see "textcolors=" in Color
- Parameters (p. 96)
-
- The formula type's imag() function has changed to return the result as
- a real number
-
- Fractal type-specific parameters (entered after selecting a new
- fractal type with <T>) now restart at their default values each time
- you select a new fractal type
-
- Floating point input fields can now be entered in scientific notation
- (e.g. 11.234e-20). Entering the letters "e" and "p" in the first
- column causes the numbers e=2.71828... and pi=3.14159... to be
- entered.
-
- New option "orbitsave=yes" to create files for Acrospin for some types
- (see Barnsley IFS Fractals (p. 39), Orbit Fractals (p. 46),
- Acrospin (p. 153))
-
- Bug fixes:
- Problem with Hercules adapter auto-detection repaired.
- Problems with VESA video adapters repaired (we're not sure we've got
- them all yet...)
- 3D transforms fixed to work at high resolutions (> 1000 dots).
- 3D parameters no longer clobbered when restoring non-3D images.
- L-Systems fixed to not crash when order too high for available
-
- Fractint Version 18.2 Page 160
-
- memory.
- PostScript EPS file fixes.
- Bad leftmost pixels with floating point at 2048 dot resolution
- fixed.
- 3D transforms fixed to use current <x> screen float/integer setting.
- Restore of images using inversion fixed.
- Error in "cos" function (used with "fn" type fractals) fixed; prior
- incorrect function still available as "cosxx" for compatibility
-
- Old 3D=nn/nn/nn/... form of 3D transform parameters no longer
- supported
-
- Fractint source code now Microsoft C6.00A compatible.
-
- Version 15.11, 3/91, companion to Fractal Creations, not for general
- release
-
- Autokey feature, IIT fpu support, and some bug fixes publicly released
- in version 16.
-
-
- Version 15 and 15.1, 12/90
-
- New user interface! Enjoy! Some key assignments have changed and some
- have been removed.
- New palette editing from Ethan Nagel.
- Reduced memory requirements - Fractint now uses overlays and will run
- on a 512K machine.
- New <v>iew command: use to get small window for fast preview, or to
- setup an image which will eventually be rendered on hard copy with
- different aspect ratio
- L-System fractal type from Adrian Mariano
- Postscript printer support from Scott Taylor
- Better Tandy video support and faster CGA video from Joseph A Albrecht
- 16 bit continuous potential files have changed considerably; see the
- Continuous Potential section for details. Continuous potential is
- now resumable.
- Mandelbrot calculation is faster again (thanks to Mike Gelvin) -
- double speed in 8086 32 bit case
- Compressed log palette and sqrt palette from Chuck Ebbert
- Calculation automatically resumes whenever current image is resumable
- and is not paused for a visible reason.
- Auto increment of savename changed to be more predictable
- New video modes:
- trident 1024x768x256 mode
- 320x480x256 tweak mode (good for reduced 640x480 viewing)
- changed NEC GB-1, hopefully it works now
- Integer mandelbrot and julia now work with periodicitycheck
- Initial zoombox color auto-picked for better contrast (usually)
- New adapter=cga|ega|mcga|vga for systems having trouble with auto-
- detect
- New textsafe=no|yes for systems having trouble with garbled text mode
- <r> and <3> commands now present list of video modes to pick from; <r>
- can reduce a non-standard or unviewable image size.
- Diffusion fractal type is now resumable after interrupt/save
- Exitmode=n parameter, sets video mode to n when exiting from fractint
-
- Fractint Version 18.2 Page 161
-
- When savetime is used with 1 and 2 pass and solid guessing, saves are
- deferred till the beginning of a new row, so that no calculation
- time is lost.
- 3d photographer's mode now allows the first image to be saved to disk
- textcolors=mono|12/34/56/... -- allows setting user interface colors
- Code (again!) compilable under TC++ (we think!)
- .TIW files (from v9.3) are no longer supported as input to 3D
- transformations
- bug fixes:
- multiple restores (msc 6.0, fixed in 14.0r)
- repeating 3d loads problem; slow 3d loads of images with float=yes
- map= is now a real substitute for default colors
- starfield and julibrot no longer cause permanent color map
- replacement
- starfield parameters bug fix - if you couldn't get the starfield
- parameters to do anything interesting before, try again with this
- release
- Newton and newtbasin orbit display fixed
-
- Version 15.1:
-
- Fixed startup and text screen problems on systems with VESA compliant
- video adapters.
- New textsafe=save|bios options.
- Fixes for EGA with monochrome monitor, and for Hercules Graphics Card.
- Both should now be auto-detected and operate correctly in text
- modes. Options adapter=egamono and adapter=hgc added.
- Fixed color L-Systems to not use color 0 (black).
- PostScript printing fix.
-
- Version 14, 8/90
-
- LAST MINUTE NEWS FLASH!
- Compuserve announces the GIF89a on August 1, 1990, and Fractint
- supports it on August 2! GIF files can now contain fractal
- information! Fractint now saves its files in the new GIF89a format
- by default, and uses .GIF rather than .FRA as a default filetype.
- Note that Fractint still *looks* for a .FRA file on file restores if
- it can't find a .GIF file, and can be coerced into using the old
- GIF87a format with the new 'gif87a=yes' command-line option.
-
- Pieter Branderhorst mounted a major campaign to get his name in
- lights:
- Mouse interface: Diagonals, faster movement, improved feel. Mouse
- button assignments have changed - see the online help.
- Zoom box enhancements: The zoom box can be rotated, stretched,
- skewed, and panned partially offscreen. See "More Zoom Box
- Commands".
- FINALLY!! You asked for it and we (eventually, by talking Pieter into
- it [actually he grabbed it]) did it! Images can be saved before
- completion, for a subsequent restore and continue. See
- "Interrupting and Resuming" and "Batch Mode".
- Off-center symmetry: Fractint now takes advantage of x or y axis
- symmetry anywhere on the screen to reduce drawing time.
- Panning: If you move an image up, down, left, or right, and don't
- change anything else, only the new edges are calculated.
-
- Fractint Version 18.2 Page 162
-
- Disk-video caching - it is now possible, reasonable even, to do most
- things with disk video, including solid guessing, 3d, and plasma.
- Logarithmic palette changed to use all colors. It now matches regular
- palette except near the "lake". "logmap=old" gets the old way.
- New "savetime=nnn" parameter to save checkpoints during long
- calculations.
- Calculation time is shown in <Tab> display.
-
- Kevin C Allen Finite Attractor, Bifurcation Engine, Magnetic
- fractals...
- Made Bifurcation/Verhulst into a generalized Fractal Engine (like
- StandardFractal, but for Bifurcation types), and implemented
- periodicity checking for Bifurcation types to speed them up.
- Added Integer version of Verhulst Bifurcation (lots faster now).
- Integer is the default. The Floating-Point toggle works, too.
- Added NEW Fractal types BIFLAMBDA, BIF+SINPI, and BIF=SINPI. These are
- Bifurcation types that make use of the new Engine. Floating-
- point/Integer toggle is available for BIFLAMBDA. The SINPI types are
- Floating-Point only, at this time.
- Corrected the generation of the MandelLambda Set. Sorry, but it's
- always been wrong (up to v 12, at least). Ask Mandelbrot !
- Added NEW Fractal types MAGNET1M, MAGNET1J, MAGNET2M, MAGNET2J from
- "The Beauty of Fractals". Floating-Point only, so far, but what do
- you expect with THESE formulae ?!
- Added new symmetry types XAXIS NOIMAG and XAXIS NOREAL, required by
- the new MAGNETic Fractal types.
- Added Finite Attractor Bailout (FAB) logic to detect when iterations
- are approaching a known finite attractor. This is required by the
- new MAGNETic Fractal types.
- Added Finite Attractor Detection (FAD) logic which can be used by
- *SOME* Julia types prior to generating an image, to test for finite
- attractors, and find their values, for use by FAB logic. Can be used
- by the new MAGNETic Fractal Types, Lambda Sets, and some other Julia
- types too.
-
- Mike Burkey sent us new tweaked video modes:
- VGA - 400x600x256 376x564x256 400x564x256
- ATI VGA - 832x612x256 New HP Paintjet support from Chris Martin
- New "FUNCTION=" command to allow substition of different
- transcendental functions for variables in types (allows one type
- with four of these variables to represent 7*7*7*7 different types!
- ALL KINDS of new fractal types, some using "FUNCTION=": fn(z*z),
- fn*fn, fn*z+z, fn+fn, sqr(1/fn), sqr(fn), spider, tetrate, and
- Manowar. Most of these are generalizations of formula fractal types
- contributed by Scott Taylor and Lee Skinner.
- Distance Estimator logic can now be applied to many fractal types
- using distest= option. The types "demm" and "demj" have been
- replaced by "type=mandel distest=nnn" and "type=julia distest=nnn"
- Added extended memory support for diskvideo thanks to Paul Varner
- Added support for "center and magnification" format for corners.
- Color 0 is no longer generated except when specifically requested with
- inside= or outside=.
- Formula name is now included in <Tab> display and in <S>aved images.
- Bug fixes - formula type and diskvideo, batch file outside=-1 problem.
- Now you can produce your favorite fractal terrains in full color
- instead of boring old monochrome! Use the fullcolor option in 3d!
-
- Fractint Version 18.2 Page 163
-
- Along with a few new 3D options.
- New "INITORBIT=" command to allow alternate Mandelbrot set orbit
- initialization.
-
-
- Version 13.0, 5/90
-
- F1 was made the help key.
- Use F1 for help
- Use F9 for EGA 320x200x16 video mode
- Use CF4 for EGA 640x200x16 mode (if anybody uses that mode)
- Super-Solid-guessing (three or more passes) from Pieter Branderhorst
- (replaces the old solid-guessing mode)
- Boundary Tracing option from David Guenther ("fractint passes=btm", or
- use the new 'x' options screen)
- "outside=nnn" option sets all points not "inside" the fractal to color
- "nnn" (and generates a two-color image).
- 'x' option from the main menu brings up a full-screen menu of many
- popular options and toggle switches
- "Speed Key" feature for fractal type selection (either use the cursor
- keys for point-and-shoot, or just start typing the name of your
- favorite fractal type)
- "Attractor" fractals (Henon, Rossler, Pickover, Gingerbread)
- Diffusion fractal type by Adrian Mariano
- "type=formula" formulas from Scott Taylor and Lee H. Skinner.
- "sound=" options for attractor fractals. Sound=x plays speaker tones
- according to the 'x' attractor value Sound=y plays speaker tones
- according to the 'y' attractor value. Sound=z plays speaker tones
- according to the 'z' attractor value (These options are best
- invoked with the floating-point algorithm flag set.)
- "hertz=" option for adjusting the "sound=x/y/z" output.
- Printer support for color printers (printer=color) from Kurt Sowa
- Trident 4000 and Oak Technologies SuperVGA support from John Bridges
- Improved 8514/A support (the zoom-box keeps up with the cursor keys
- now!)
- Tandy 1000 640x200x16 mode from Brian Corbino (which does not, as yet,
- work with the F1(help) and TAB functions)
- The Julibrot fractal type and the Starmap option now automatically
- verify that they have been selected with a 256-color palette, and
- search for, and use, the appropriate GLASSESn.MAP or ALTERN.MAP
- palette map when invoked. *You* were supposed to be doing that
- manually all along, but *you* probably never read the docs, huh?
- Bug Fixes:
- TAB key now works after R(estore) commands
- PS/2 Model 30 (MCGA) adapters should be able to select 320x200x256
- mode again (we think)
- Everex video adapters should work with the Autodetect modes again
- (we think)
-
-
- Version 12.0, 3/90
-
- New SuperVGA Autodetecting and VESA Video modes (you tell us the
- resolution you want, and we'll figure out how to do it)
- New Full-Screen Entry for most prompting
- New Fractal formula interpreter ('type=formula') - roll your own
-
- Fractint Version 18.2 Page 164
-
- fractals without using a "C" compiler!
- New 'Julibrot' fractal type
- Added floating point option to all remaining fractal types.
- Real (funny glasses) 3D - Now with "real-time" lorenz3D!!
- Non-Destructive <TAB> - Check out what your fractal parameters are
- without stopping the generation of a fractal image
- New Cross-Hair mode for changing individual palette colors (VGA only)
- Zooming beyond the limits of Integer algorithms (with automatic
- switchover to a floating-point algorithm when you zoom in "too far")
- New 'inside=bof60', 'inside=bof61' ("Beauty of Fractals, Page nn")
- options
- New starmap ('a' - for astrology? astronomy?) transformation option
- Restrictions on the options available when using Expanded Memory
- "Disk/RAM" video mode have been removed
- And a lot of other nice little clean-up features that we've already
- forgotten that we've added...
- Added capability to create 3D projection images (just barely) for
- people with 2 or 4 color video boards.
-
- Version 11.0, 1/90
-
- More fractal types
- mandelsinh/lambdasinh mandelcosh/lambdacosh
- mansinzsqrd/julsinzsqrd mansinexp/julsinexp
- manzzprw/julzzpwr manzpower/julzpower
- lorenz (from Rob Beyer) lorenz3d
- complexnewton complexbasin
- dynamic popcorn
- Most fractal types given an integer and a floating point algorithm.
- "Float=yes" option now determines whether integer or floating-point
- algorithms are used for most fractal types. "F" command toggles the
- use of floating-point algorithms, flagged in the <Tab> status
- display
- 8/16/32/../256-Way decomposition option (from Richard Finegold)
- "Biomorph=", "bailout=", "symmetry=" and "askvideo=" options
- "T(ransform)" option in the IFS editor lets you select 3D options
- (used with the Lorenz3D fractal type)
- The "T(ype)" command uses a new "Point-and-Shoot" method of selecting
- fractal types rather than prompting you for a type name
- Bug fixes to continuous-potential algorithm on integer fractals, GIF
- encoder, and IFS editor
-
-
- Version 10.0, 11/89
-
- Barnsley IFS type (Rob Beyer)
- Barnsley IFS3D type
- MandelSine/Cos/Exp type
- MandelLambda/MarksLambda/Unity type
- BarnsleyM1/J1/M2/J2/M3/J3 type
- Mandel4/Julia4 type
- Sierpinski gasket type
- Demm/Demj and bifurcation types (Phil Wilson), "test" is "mandel"
- again
- <I>nversion command for most fractal types
- <Q>uaternary decomposition toggle and "DECOMP=" argument
-
- Fractint Version 18.2 Page 165
-
- <E>ditor for Barnsley IFS parameters
- Command-line options for 3D parameters
- Spherical 3D calculations 5x faster
- 3D now clips properly to screen edges and works at extreme perspective
- "RSEED=" argument for reproducible plasma clouds
- Faster plasma clouds (by 40% on a 386)
- Sensitivity to "continuous potential" algorithm for all types except
- plasma and IFS
- Palette-map <S>ave and Restore (<M>) commands
- <L>ogarithmic and <N>ormal palette-mapping commands and arguments
- Maxiter increased to 32,000 to support log palette maps
- .MAP and .IFS files can now reside anywhere along the DOS path
- Direct-video support for Hercules adapters (Dean Souleles)
- Tandy 1000 160x200x16 mode (Tom Price)
- 320x400x256 register-compatible-VGA "tweaked" mode
- ATI VGA Wonder 1024x768x16 direct-video mode (Mark Peterson)
- 1024x768x16 direct-video mode for all supported chipsets
- Tseng 640x400x256 mode
- "Roll-your-own" video mode 19
- New video-table "hot-keys" eliminate need for enhanced keyboard to
- access later entries
-
-
- Version 9.3, 8/89
-
- <P>rint command and "PRINTER=" argument (Matt Saucier)
- 8514/A video modes (Kyle Powell)
- SSTOOLS.INI sensitivity and '@THISFILE' argument
- Continuous-potential algorithm for Mandelbrot/Julia sets
- Light source 3D option for all fractal types
- "Distance estimator" M/J method (Phil Wilson) implemented as "test"
- type
- LambdaCosine and LambdaExponent types
- Color cycling mode for 640x350x16 EGA adapters
- Plasma clouds for 16-color and 4-color video modes
- Improved TARGA support (Joe McLain)
- CGA modes now use direct-video read/writes
- Tandy 1000 320x200x16 and 640x200x4 modes (Tom Price)
- TRIDENT chip-set super-VGA video modes (Lew Ramsey)
- Direct-access video modes for TRIDENT, Chips & Technologies, and ATI
- VGA WONDER adapters (John Bridges). and, unlike version 9.1, they
- WORK in version 9.3!)
- "zoom-out" (<Ctrl><Enter>) command
- <D>os command for shelling out
- 2/4/16-color Disk/RAM video mode capability and 2-color video modes
- supporting full-page printer graphics
- "INSIDE=-1" option (treated dynamically as "INSIDE=maxiter")
- Improved <H>elp and sound routines (even a "SOUND=off" argument)
- Turbo-C and TASM compatibility (really! Would we lie to you?)
-
-
- Version 8.1, 6/89
-
- <3>D restore-from-disk and 3D <O>verlay commands, "3D=" argument
- Fast Newton algorithm including inversion option (Lee Crocker)
- 16-bit Mandelbrot/Julia logic for 386-class speed with non-386 PCs on
-
- Fractint Version 18.2 Page 166
-
- "large" images (Mark Peterson)
- Restore now loads .GIF files (as plasma clouds)
- TARGA video modes and color-map file options (Joe McLain)
- 30 new color-cycling palette options (<Shft><F1> to <Alt><F10>)
- "Disk-video, RAM-video, EMS-video" modes
- Lambda sets now use integer math (with 80386 speedups)
- "WARN=yes" argument to prevent over-writing old .GIF files
-
-
- Version 7.0, 4/89
-
- Restore from disk (from prior save-to-disk using v. 7.0 or later)
- New types: Newton, Lambda, Mandelfp, Juliafp, Plasma, Lambdasine
- Many new color-cycling options (for VGA adapters only)
- New periodicity logic (Mark Peterson)
- Initial displays recognize (and use) symmetry
- Solid-guessing option (now the default)
- Context-sensitive <H>elp
- Customizable video mode configuration file (FRACTINT.CFG)
- "Batch mode" option
- Improved super-VGA support (with direct video read/writes)
- Non-standard 360 x 480 x 256 color mode on a STANDARD IBM VGA!
-
-
- Version 6.0, 2/89
-
- 32-bit integer math emulated for non-386 processors; FRACT386 renamed
- FRACTINT
- More video modes
-
-
- Version 5.1, 1/89
-
- Save to disk
- New! Improved! (and Incompatible!) optional arguments format
- "Correct" initial image aspect ratio
- More video modes
-
-
- Version 4.0, 12/88
-
- Mouse support (Mike Kaufman)
- Dynamic iteration limits
- Color cycling
- Dual-pass mode
- More video modes, including "tweaked" modes for IBM VGA and register-
- compatible adapters
-
-
- Version 3.1, 11/88
-
- Julia sets
-
-
- Fractint Version 18.2 Page 167
-
- Version 2.1, 10/23/88 (the "debut" on CIS)
-
- Video table
- CPU type detector
-
-
- Version 2.0, 10/10/88
-
- Zoom and pan
-
-
- Version 1.0, 9/88
-
- The original, blindingly fast, 386-specific 32-bit integer algorithm
-
- Fractint Version 18.2 Page 168
-
- Appendix H Version13 to Version 14 Type Mapping
-
- A number of types in Fractint version 13 and earlier were generalized in
- version 14. We added a "backward compatibility" hook that (hopefully)
- automatically translates these to the new form when the old files are
- read. Files may be converted via:
-
- FRACTINT OLDFILE.FRA SAVENAME=NEWFILE.GIF BATCH=YES
-
- In a few cases the biomorph flag was incorrectly set in older files. In
- that case, add "biomorph=no" to the command line.
-
- This procedure can also be used to convert any *.fra file to the new
- GIF89a spec, which now allows storage of fractal information.
-
-
- TYPES CHANGED FROM VERSION 13 -
-
-
- V13 NAME V14 NAME + PARAMETERS
- -------- --------------------------------------
-
- LOGMAP=YES LOGMAP=OLD for identical Logmap type
-
- DEMJ JULIA DISTEST=nnn
-
- DEMM MANDEL DISTEST=nnn
-
- Note: DISTEST also available on many other types
-
- MANSINEXP MANFN+EXP FUNCTION=SIN
-
- Note: New functions for this type are
- cos sinh cosh exp log sqr
-
- JULSINEXP JULFN+EXP FUNCTION=SIN
-
- Note: New functions for this type are
- cos sinh cosh exp log sqr
-
- MANSINZSQRD MANFN+ZSQRD FUNCTION=SQR/SIN
-
- Note: New functions for this type are
- cos sinh cosh exp log sqr
-
- JULSINZSQRD JULFN+ZSQRD FUNCTION=SQR/SIN
-
- Note: New functions for this type are
- cos sinh cosh exp log sqr
-
- LAMBDACOS LAMBDAFN FUNCTION=COS
-
- LAMBDACOSH LAMBDAFN FUNCTION=COSH
-
- Fractint Version 18.2 Page 169
-
- LAMBDAEXP LAMBDAFN FUNCTION=EXP
-
- LAMBDASINE LAMBDAFN FUNCTION=SIN
-
- LAMBDASINH LAMBDAFN FUNCTION=SINH
-
- Note: New functions for this type are
- log sqr
-
- MANDELCOS MANDELFN FUNCTION=COS
-
- MANDELCOSH MANDELFN FUNCTION=COSH
-
- MANDELEXP MANDELFN FUNCTION=EXP
-
- MANDELSINE MANDELFN FUNCTION=SIN
-
- MANDELSINH MANDELFN FUNCTION=SINH
-
- Note: New functions for this type are
- log sqr
-
- MANDELLAMBDA MANDELLAMBDA INITORBIT=PIXEL
-
- POPCORN SYMMETRY=NONE POPCORNJUL
-
- -------------------------------------------------------------
-
- Formulas from FRACTINT.FRM in version 13
-
- MANDELGLASS MANDELLAMBDA INITORBIT=.5/0
-
- INVMANDEL V13 divide bug may cause some image differences.
-
- NEWTON4 V13 divide bug may cause some image differences.
-
- SPIDER V13 divide bug may cause some image differences.
-
- MANDELSINE MANDELFN FUNCTION=SIN BAILOUT=50
-
- MANDELCOSINE MANDELFN FUNCTION=COS BAILOUT=50
-
- MANDELHYPSINE MANDELFN FUNCTION=SINH BAILOUT=50
-
- MANDELHYPCOSINE MANDELFN FUNCTION=COSH BAILOUT=50
-
- SCOTTSIN PARAMS=nnn FN+FN FUNCTION=SIN/SQR BAILOUT=nnn+3
-
- SCOTTSINH PARAMS=nnn FN+FN FUNCTION=SINH/SQR BAILOUT=nnn+3
-
- SCOTTCOS PARAMS=nnn FN+FN FUNCTION=COS/SQR BAILOUT=nnn+3
-
- SCOTTCOSH PARAMS=nnn FN+FN FUNCTION=COSH/SQR BAILOUT=nnn+3
-
- Fractint Version 18.2 Page 170
-
- SCOTTLPC PARAMS=nnn FN+FN FUNCTION=LOG/COS BAILOUT=nnn+3
-
- SCOTTLPS PARAMS=nnn FN+FN FUNCTION=LOG/SIN BAILOUT=nnn+3
- Note: New functions for this type are
- sin/sin sin/cos sin/sinh sin/cosh sin/exp
- cos/cos cos/sinh cos/cosh cos/exp
- sinh/sinh sinh/cosh sinh/exp sinh/log
- cosh/cosh cosh/exp cosh/log
- exp/exp exp/log exp/sqr log/log log/sqr sqr/sqr
-
- SCOTTSZSA PARAMS=nnn FN(Z*Z) FUNCTION=SIN BAILOUT=nnn+3
-
- SCOTTCZSA PARAMS=nnn FN(Z*Z) FUNCTION=COS BAILOUT=nnn+3
-
- Note: New functions for this type are
- sinh cosh exp log sqr
-
- SCOTTZSZZ PARAMS=nnn FN*Z+Z FUNCTION=SIN BAILOUT=nnn+3
-
- SCOTTZCZZ PARAMS=nnn FN*Z+Z FUNCTION=COS BAILOUT=nnn+3
-
- Note: New functions for this type are
- sinh cosh exp log sqr
-
- SCOTTSZSB PARAMS=nnn FN*FN FUNCTION=SIN/SIN BAILOUT=nnn+3
-
- SCOTTCZSB PARAMS=nnn FN*FN FUNCTION=COS/COS BAILOUT=nnn+3
-
- SCOTTLTS PARAMS=nnn FN*FN FUNCTION=LOG/SIN BAILOUT=nnn+3
-
- SCOTTLTC PARAMS=nnn FN*FN FUNCTION=LOG/COS BAILOUT=nnn+3
-
- Note: New functions for this type are
- sin/cos sin/sinh sin/cosh sin/exp sin/sqr
- cos/sinh cos/cosh cos/exp cos/sqr
- sinh/sinh sinh/cosh sinh/exp sinh/log sinh/sqr
- cosh/cosh cosh/exp cosh/log cosh/sqr
- exp/exp exp/log exp/sqr log/log log/sqr sqr/sqr
-
- SCOTTSIC PARAMS=nnn SQR(1/FN) FUNCTION=COS BAILOUT=nnn+3
-
- SCOTTSIS PARAMS=nnn SQR(1/FN) FUNCTION=SIN BAILOUT=nnn+3
-
- TETRATE PARAMS=nnn TETRATE BAILOUT=nnn+3
-
- Note: New function type sqr(1/fn) with
- sin cos sinh cosh exp log sqr
-
- Note: New function type sqr(fn) with
- sin cos sinh cosh exp log sqr
-